【发布时间】:2011-07-24 03:09:12
【问题描述】:
我在过去的几个小时里尝试了所有类型的变体,但根据 Twitter API,这应该从第 1 步开始工作!
我在下面的脚本中添加了以下内容: $header = array("期望:");
我发现这有助于在另一个关于 stackoverflow 的问题中获得被拒绝的问题/100-继续。
问题: 验证 oauth 签名和令牌失败是每次响应!!!
我的帖子数据示例:
Array ( [oauth_callback] => http://www.mysite.com//index.php [oauth_consumer_key] => hidden [oauth_nonce] => hidden [oauth_signature_method] => HMAC-SHA1 [oauth_timestamp] => 1301270847 [oauth_version] => 1.0 )
还有我的标题数据:
Array ( [0] => Expect: )
脚本:
$consumer_key = "hidden";
$consumer_secret = "hidden";
function Post_Data($url,$data,$header){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
$data['oauth_callback'] = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
$data['oauth_consumer_key'] = $consumer_key;
$data['oauth_nonce'] = md5(time());
$data['oauth_signature_method'] = "HMAC-SHA1";
$data['oauth_timestamp'] = time();
$data['oauth_version'] = "1.0";
$header = array("Expect:");
$content = Post_Data("http://api.twitter.com/oauth/request_token",$data,$header);
print_r($content);
有人能看出我在这里可能犯的明显错误吗?最好我不想使用其他人的代码,因为大多数示例都有完整的类和大量函数,我正在寻找最简单的方法!
【问题讨论】: