Php Twitter-获取请求令牌:代码:32
我编写了一个函数从twitterapi获取请求令牌。我得到下面的错误 {“错误”:[{“代码”:32,“消息”:“无法验证您的身份。”}]} 我的代码是这样的Php Twitter-获取请求令牌:代码:32,php,twitter,twitter-oauth,Php,Twitter,Twitter Oauth,我编写了一个函数从twitterapi获取请求令牌。我得到下面的错误 {“错误”:[{“代码”:32,“消息”:“无法验证您的身份。”}]} 我的代码是这样的 function beuTwitterOauthToken() { $url = "https://api.twitter.com/oauth/request_token"; $method = "POST"; $oauth_callback = $this->beuTwitterApiCallBa
function beuTwitterOauthToken()
{
$url = "https://api.twitter.com/oauth/request_token";
$method = "POST";
$oauth_callback = $this->beuTwitterApiCallBack;
$oauth_consumer_key = $this->beuTwitterConsumerKey;
$oauth_consumer_key_secret = $this->beuTwitterConsumerKeySecret;
$oauth_nonce = $this->beuTwitterNonce();
$oauth_signature_method = "HMAC-SHA1";
$oauth_timestamp = time();
$oauth_version = "1.0";
$params = array(
'oauth_callback' => rawurlencode($oauth_callback),
'oauth_consumer_key' => rawurlencode($oauth_consumer_key),
'oauth_nonce' => rawurlencode($oauth_nonce),
'oauth_signature_method' => rawurlencode($oauth_signature_method),
'oauth_timestamp' => rawurlencode($oauth_timestamp),
'oauth_version' => rawurlencode($oauth_version)
);
ksort($params);
$parameter_string = http_build_query($params);
$base_string = $method . '&';
$base_string .= rawurlencode($url) . '&';
$base_string .= $parameter_string;
$oauth_signing_key = rawurlencode($oauth_consumer_key_secret) . '&';
$oauth_signature = base64_encode(hash_hmac('sha1', $base_string, $oauth_signing_key, true));
$params['oauth_signature'] = rawurlencode($oauth_signature);
ksort($params);
foreach($params as $key=>$value){
$post .= $key.'='.'"'.$value.'", ';
}
$post = rtrim($post, ", ");
$headers = array(
"POST /oauth/request_token HTTP/1.1",
"User-Agent: Beu",
"Host: api.twitter.com",
"Accept: */*",
"Authorization: OAuth ". $post
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
$retrievedhtml = curl_exec ($ch);
curl_close($ch);
return $retrievedhtml;
}
我想不出代码出了什么问题。感谢您的帮助……对我来说,配置参数有问题:
consumer_key & consumer_secret
我在twitter上有两个应用程序,一个用于生产环境,另一个用于开发。我将在生产环境中检索到的访问令牌与开发环境中为应用程序提供的使用者密钥和机密混合在一起,因此它们在twitter系统中不匹配。对我来说,这是配置参数的问题:
consumer_key & consumer_secret
我在twitter上有两个应用程序,一个用于生产环境,另一个用于开发。我将在生产环境中检索的访问令牌与在开发环境中为应用程序提供的消费者密钥和机密混合在一起,因此它们在twitter系统中不匹配