Yahoo BOSS API的OAuth问题

时间:2014-06-05 09:59:42

标签: java oauth oauth-2.0 yahoo-api yahoo-boss-api

我正在尝试使用一些详细here的查询字符串来调用Yahoo BOSS API。除非查询中有空格,否则工作正常。我正在使用URLEncoder.encode(q, "UTF-8")对查询字符串进行编码。

但是只要查询字符串中有空格,请求就会失败,并显示Please provide valid credentials. OAuth oauth_problem="signature_invalid"错误。由于查询字符串是编码的,白色空间应该被转义,有其他人面对并解决了这个问题吗?

2 个答案:

答案 0 :(得分:0)

您需要在雅虎的最终获得授权人员的凭证,即客户密钥和客户密钥。一旦你得到它,你可以替换代码中的那些,然后将被授权。

答案 1 :(得分:0)

我遇到了完全相同的问题。你需要使用:

UrlEncoder.encode(q,"UTF-8").replace("+","%20")

您的版本正在破坏您的签名,因为Oauth使用百分比编码来签署请求。所以你需要%20。可以找到关于该主题的好文章here