【问题标题】:Zend_Service_Twitter Oauth Incorrect SignatureZend_Service_Twitter Oauth 签名不正确
【发布时间】:2011-04-04 07:52:43
【问题描述】:

我已使用 Zend_Oauth_Consumer 成功连接到 twitter 并获得了访问令牌,但是当我尝试使用此访问令牌时出现错误。

这是代码:

$token = unserialize($twsession->access_token); # would be in DB
$twitter = new Zend_Service_Twitter(array(
    'username' => $token->screen_name,
    'accessToken' => $token
));
$response = $twitter->account->verifyCredentials();

这个输出:

Zend_Rest_Client_Result Object (
    [_sxml:protected] => SimpleXMLElement Object
        (
            [request] => /1/account/verify_credentials.xml
            [error] => Incorrect signature
        )

    [_errstr:protected] =>  )

我假设代码实际上是正确的,因为 ZF 网站上的示例不完整,所以很难判断。

FWIW 我正在使用 Zend Framework 1.10.8

【问题讨论】:

    标签: php zend-framework twitter


    【解决方案1】:

    缺少一些字段:

    $token = unserialize($twsession->access_token); # would be in DB
    $twitter = new Zend_Service_Twitter(array(
        'username' => $token->screen_name,
        'accessToken' => $token
    ));
    $response = $twitter->account->verifyCredentials();
    

    应该是:

    $token = unserialize($twsession->access_token); # would be in DB
    $twitter = new Zend_Service_Twitter(array(
         'username' => $token->screen_name,
         'accessToken' => $token,
         'consumerKey' => YOUR_APP_CONSUMER_KEY,
         'consumerSecret' => YOUR_APP_CONSUMER_SECRET,
         'callbackUrl' => YOUR_CALLBACK_URL
     ));
    $response = $twitter->account->verifyCredentials();
    

    要确认,对于有效的签名,您需要与 Zend_Oauth_Consumer 一起使用的所有相同字段

    【讨论】:

      猜你喜欢
      • 2014-09-20
      • 1970-01-01
      • 2011-06-13
      • 2017-05-08
      • 2018-12-25
      • 1970-01-01
      • 2011-05-25
      • 2011-01-31
      • 2011-08-29
      相关资源
      最近更新 更多