1

我正在尝试允许我网站的用户使用他们的 Yahoo/Gmail 帐户登录。
Gmail 运行良好。但在雅虎我有以下 php 片段:

$this->options = array('consumer_key' => '我的雅虎密钥',
    'consumer_secret' => '我的秘密',
    'server_uri' => 'https://www.yahoo.com',
    'request_token_uri'=> 'https://api.login.yahoo.com/oauth/v2/get_request_token',
    'authorize_uri' => 'https://api.login.yahoo.com/oauth/v2/request_auth',
    'access_token_uri'=> 'https://api.login.yahoo.com/oauth/v2/get_token',);
$getAuthTokenParams = 数组(
    'xoauth_lang_pref' => 'en-us',
    'oauth_callback' => $this->callback_url);//回调我的页面
$tokenResultParams = OAuthRequester::requestRequestToken($this->options['consumer_key'], 0, $getAuthTokenParams);

现在雅虎给

HTTP/1.1 401 禁止
日期:格林威治标准时间 2011 年 7 月 27 日星期三 09:12:19
P3P: policyref="http://info.yahoo.com/w3c/p3p.xml", CP="CAO DSP COR CUR ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi Sami OTRi UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE LOC GOV"
WWW-认证:OAuth oauth_problem=signature_invalid
连接:关闭
传输编码:分块
内容类型:application/x-www-form-urlencoded

oauth_problem=signature_invalid

https://developer.apps.yahoo.com/projects我选择了:

美味的社交书签(读/写)
联系人(阅读)
社交目录(读/写)

有人遇到过同样的问题吗?我做错什么了吗?
谢谢你的帮助

4

1 回答 1

1

正如我昨天发现的那样,雅虎的代币是巨大的。这意味着 oauth-php 不能很好地存储它,所以你得到了错误的签名。这是我对问题的解决方案:如何使用 Yahoo! 带有 oauth-php 库的 API?

于 2011-07-28T13:26:39.530 回答