Бих искал да мога да публикувам туит в twitter от името на моите потребители, които искат да споделят своите публикации на моя уебсайт също като туит. Използвам прекрасния клас TwitterAPIExchange на Джеймс Малисън и се опитвам да публикувам в twitter с PHP. Класът се намира тук.
Опитвам се да го използвам по следния начин:
/** Set access tokens here - see: https://dev.twitter.com/apps/ **/
$settings = array(
'oauth_access_token' => $core->getOauthAccessToken(),
'oauth_access_token_secret' => $core->getOauthAccessTokenSecret(),
'consumer_key' => $core->getTwitterConsumerKey(),
'consumer_secret' => $core->getTwitterConsumerSecret()
);
$url = 'https://api.twitter.com/1.1/statuses/update.json';
$requestMethod = 'POST';
$stripped_question = "See my reply to \"$stripped_question\"";
$stripped_response = $stripped_response;
$message = $stripped_question.$stripped_response;
/*$postfields = array(
'status' => rawurlencode(rawurlencode($message))
);*/
$postfields = array(
CURLOPT_HTTPHEADER => array("https://api.twitter.com/oauth/authorize"),
CURLOPT_HEADER => false,
CURLOPT_URL => $core->getHomeUrl(),
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => 'status=' . rawurlencode(rawurlencode($status)),
CURLOPT_RETURNTRANSFER => true,
CURLOPT_VERBOSE => true,
CURLOPT_SSL_VERIFYPEER => false
);
/** Perform the request and echo the response **/
$twitter = new TwitterAPIExchange($settings);
echo "<!--".var_dump($twitter->buildOauth($url, $requestMethod)
->setPostfields($postfields)
->performRequest())."-->";
Обаче нещо не е наред, получавам следната грешка:
string(63) "{"errors":[{"message":"Could not authenticate you","code":32}]}"
И така, въпросът ми е: Как мога да публикувам туит в twitter от името на потребител на моя уебсайт? Защо twitter не може да удостовери потребителя? Проверих данните и всичко изглежда правилно, така че смятам, че проблемът е във втория код в публикацията ми. Благодаря много за всеки отговор.