我想获取我正在使用OAuth的用户个人资料。 http://developer.yahoo.com/oauth/guide/oauth-auth-flow.html
我已经检索了访问令牌,现在最后我需要根据http://developer.yahoo.com/oauth/guide/oauth-make-request.html#
发出GET请求来调用yahoo api我发送的GET请求是: -
http://social.yahooapis.com/v1/user/KMDUY7SWWTJOX4AS3XR47PNLQU/profile?format=json
&realm="yahooapis.com"
&oauth_consumer_key=my key
&oauth_nonce=24829.2331
&oauth_signature_method=plaintext
&oauth_timestamp=1219450170
&oauth_token=whole token here
&oauth_version=1.0
&auth_signature="consumer secret + token secret"
当我发送此请求时,它给了我这个错误: -
{"error":{"lang":"en-US","description":"Please provide valid credentials. OAuth oauth_problem=\"token_rejected\", realm=\"yahooapis.com\""}}
谢谢您的时间和考虑。
答案 0 :(得分:2)
我有这个问题已经有一段时间了,最后我发现雅虎!将A=
放在他们的响应中所有访问令牌的开头,但这实际上并不是访问令牌的一部分,因此您应该确保在回复Yahoo之前删除该部分!
我希望这可以帮助其他人在将来偶然发现这个页面。
答案 1 :(得分:0)
可能在您的情况下,该问题与协议有关。在调用Yahoo!时应该使用https API。
答案 2 :(得分:0)
正如他们在雅虎文档here中所说的那样:
对于需要OAuth的Yahoo API和Web服务的请求 授权,您必须使用HMAC-SHA1加密方法,因为 请求不安全地使用HTTP。