2010-07-01 37 views
1

我有一個奇怪的問題,使用PHP的OAuth PECL庫 - 我似乎無法讓它通過GET請求。使用HTTP GET與PHP Oauth PECL庫

我正在使用v1.0.0。

這是請求:

 
$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")); 

然而,結果我得到的是:

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

...它使用POST每次。 OAUTH_HTTP_METHOD_GET常量設置爲字符串GET。

任何想法?

回答

2

我相信OAUTH_AUTH_TYPE_FORM在你的構造函數強制它做POST,而不是GET。請參閱此處以獲取更多信息:http://www.php.net/manual/en/oauth.setauthtype.php

+0

非常好,謝謝。我曾嘗試刪除OAUTH_AUTH_TYPE_FORM,但並未嘗試將其設置爲其他內容。 OAUTH_AUTH_TYPE_URI使其工作。 – Outspaced 2010-07-01 13:54:19

+0

是的,默認值是OAUTH_AUTH_TYPE_AUTHORIZATION,所以這也行不通。 OAUTH_AUTH_TYPE_URI有效地說「你需要的一切都在URI中」。 – 2010-07-01 13:56:59