Comment générer OAuth signature avec php pour l'API Twitter?
En fait ce n'est pas un php en question, il est plus sur OAuth.
J'essaie de comprendre comment générer de l'OAuth signe de la clé.
J'ai lu le Twitter Docs et essayé l'exemple, mais je ne pouvais pas comprendre comment utiliser le SHA1.
Dois-je utiliser SHA1 sur la chaîne de base avec ou sans le secret_key?
J'ai essayé de nombreuses variantes, mais le signe essentiel était de forme différente de celle de l'exemple.
C'est mon code:
function request_token(){
$headers = 'POST&';
$headers .= urlencode('https://api.twitter.com/oauth/request_token');
$headers .= '%26oauth_callback%3d'.urlencode($this->oauth_callback);
$headers .= '%26oauth_consumer_key%3d'.urlencode($this->oauth_consumer_key);
$headers .= '%26oauth_nonce%3d'.urlencode($this->oauth_nonce);
$headers .= '%26oauth_signature_method%3d'.urlencode($this->oauth_signature_method);
$headers .= '%26oauth_timestamp%3d'.urlencode($this->oauth_timestamp);
$request_token_url = 'http://api.twitter.com/oauth/request_token?';
$sha = sha1($headers);
$url = $request_token_url.$sha.$this->consumer_secret.'&';
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_HTTPHEADER,$headers);
curl_setopt($ch, CURLOPT_POST ,1);
curl_setopt($ch,CURLOPT_PUT,true);
curl_setopt($ch, CURLOPT_HEADER, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
Grâce
- Eh bien, pour commencer, remplacer tous les "+=" avec ".=". L'opérateur "." est utilisé pour la concaténation en PHP.
- Non, pas " .=. ", que: ".= "
Vous devez vous connecter pour publier un commentaire.
Je vous conseille d'utiliser Abraham Open Source OAuth solution plutôt que d'essayer d'écrire votre propre.
(GitHub)
Vous voudrez peut-être voir cette solution de travail un autre twitter oAuth cURL jeton d'accès qui ne demande
si vous faites la demande vous-même, vous pouvez tester les signatures à l'aide de http://www.eeqqoo.com/index.php?option=com_content&view=article&id=62:oauth-signature-validation-tool&catid=35:php&Itemid=54 il m'a beaucoup aidé