问题描述
|
我有以下代码
$curl_handle = curl_init();
$api_url = \'http://api.twitter.com/1/statuses/home_timeline.json\';
curl_setopt($curl_handle,CURLOPT_URL,$api_url);
if (true) {
curl_setopt($curl_handle,CURLOPT_USERPWD,\'mytwitterusername:mypass\');
}
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,TRUE);
curl_setopt($curl_handle,CURLOPT_HTTPHEADER,array(\'Expect:\'));
$twitter_data = curl_exec($curl_handle);
$this->http_status = curl_getinfo($curl_handle,CURLINFO_HTTP_CODE);
$this->last_api_call = $api_url;
curl_close($curl_handle);
var_dump($this->http_status);
var_dump($twitter_data);
return $twitter_data;
它返回
{\“错误\”:[{\“代码\”:53,\“消息\”:\“不支持基本身份验证\”}]}
任何人都可以找出问题所在。提前致谢..
解决方法
如错误消息所述,问题是不支持基本身份验证。
您需要使用OAuth对Twitter进行身份验证。
https://dev.twitter.com/pages/basic_to_oauth
https://dev.twitter.com/pages/auth
,确实如它所说。您正在执行的Twitter基本身份验证已不再受支持。您必须改用OAuth。我建议查看此PHP库,以通过PHP轻松地与Twitter一起使用:
https://github.com/abraham/twitteroauth