0

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

但只要查询字符串中有空格,请求就会失败并出现Please provide valid credentials. OAuth oauth_problem="signature_invalid"错误。由于查询字符串是编码的,所以应该转义空格,以前有没有其他人遇到过并解决过这个问题?

4

2 回答 2

0

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

于 2014-06-05T10:07:51.170 回答
0

我有同样的问题。你需要使用:

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

您的版本破坏了您的签名,因为 Oauth 使用百分比编码对请求进行签名。所以你需要%20. 可以在此处找到有关该主题的好文章。

于 2014-11-30T14:07:29.887 回答