Я пытался опубликовать твиты с помощью этого API с открытым исходным кодом. Я создал приложение Twitter и получил все необходимые ключи (4 ключа). Поэтому я не понимаю, почему мой сценарий неверен.
ini_set('display_errors', 1);
require_once("libs/twitter/TwitterAPIExchange.php");
/** Set access tokens here - see: https://dev.twitter.com/apps/ **/
$settings = array(
'oauth_access_token' => "...",
'oauth_access_token_secret' => "...",
'consumer_key' => "...",
'consumer_secret' => "...");
$url = "https://api.twitter.com/1.1/statuses/update.json";
$requestMethod = 'POST';
/** POST fields required by the URL above. See relevant docs as above **/
$postfields = array(
'status' => 'Hi, I am new status from Social Poster!'
);
/** Perform a POST request and echo the response **/
$twitter = new TwitterAPIExchange($settings);
$result = $twitter->buildOauth($url, $requestMethod)
->setPostfields($postfields)
->performRequest();
var_dump($result);
var_dump
шоу ложный.
Я знаю, что это старый пост, но для тех, у кого такая же проблема, вот решение:
В вашем TwitterAPIExchange.php
файл, перейдите к performRequest
метод и изменить свой $options
переменная от
$options = array(
CURLOPT_HTTPHEADER => $header,
CURLOPT_HEADER => false,
CURLOPT_URL => $this->url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 10,
);
к этому:
$options = array(
CURLOPT_HTTPHEADER => $header,
CURLOPT_HEADER => false,
CURLOPT_URL => $this->url,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false, //this is what you need to add
CURLOPT_TIMEOUT => 10,
);
Других решений пока нет …