2010-07-01 3 views
1

Je rencontre un problème étrange en utilisant la bibliothèque OAuth PECL de PHP - il me semble être incapable de l'obtenir pour faire des demandes via GET.Utiliser HTTP GET avec PHP Bibliothèque Oauth PECL

J'utilise v1.0.0.

C'est la demande:

 
$oauth = new OAuth(
    $network->get_consumer_key(), 
    $network->get_consumer_secret(), 
    OAUTH_SIG_METHOD_HMACSHA1, 
    OAUTH_AUTH_TYPE_FORM 
); 
$oa->enableDebug(); 
$oauth->setToken('<token>', '<secret token>'); 
$oauth->fetch('<protected url>', array(), OAUTH_HTTP_METHOD_GET, array("User-Agent" => "pecl/oauth")); 

Pourtant, le résultat que je reçois est:

 
[debugInfo] => Array 
       (
        [sbs] => 
        [headers_sent] => POST HTTP/1.1 
... 

... il utilise la méthode POST à ​​chaque fois. La constante OAUTH_HTTP_METHOD_GET est définie sur la chaîne GET.

Des idées?

Répondre

2

Je crois que votre constructeur le force à faire un POST, et non un GET. Voir ici pour plus d'informations: http://www.php.net/manual/en/oauth.setauthtype.php

+0

Excellent, merci. J'avais essayé de supprimer le fichier OAUTH_AUTH_TYPE_FORM mais je n'avais pas essayé de le définir sur autre chose. OAUTH_AUTH_TYPE_URI le fait fonctionner. – Outspaced

+0

Ouais, la valeur par défaut est OAUTH_AUTH_TYPE_AUTHORIZATION, donc ça ne marcherait pas non plus. OAUTH_AUTH_TYPE_URI dit effectivement "tout ce dont vous avez besoin est dans l'URI". –