Yahoo API调用签名无效

时间:2014-01-06 11:24:36

标签: json api profile yahoo signature

这是我的网址代码

$url = "http://social.yahooapis.com/v1/user/{$access_token_array['xoauth_yahoo_guid']}/profile?format=json&realm=yahooapis.com&oauth_consumer_key={$this->Ckey}&oauth_nonce={$this->nonce}&oauth_timestamp={$this->ctime}&oauth_token=".urlencode($access_token_array['oauth_token'])."&oauth_version=1.0&oauth_signature_method=HMAC-SHA1&oauth_signature={$this->Csecret}%26{$_SESSION['yahoo_oauth_token_secret']}";

这里Csecret是注册时的消费者秘密提供,$ _SESSION ['yahoo_oauth_token_secret']基本上是由https://api.login.yahoo.com/oauth/v2/get_request_token收到的令牌秘密['oauth_token_secret'] ...

现在当我在url上面调用时,它会说

{"error":{"lang":"en-US","description":"Please provide valid credentials. OAuth oauth_problem=\"signature_invalid\", realm=\"yahooapis.com\""}}

我尝试过组合消费者秘密%26令牌秘密,失败了 消费者的秘密也只是失败 令牌秘密也只会失败......

我在这里犯了错误......

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

保留oauth_signature_method=PLAINTEXT然后仅使用消费者密钥尝试(%26添加到消费者密钥的末尾)。 oauth_token_secret您将收到来自您请求的api服务的回复。

此致