我正在尝试使用此处详述的一些查询字符串调用 Yahoo BOSS API 。除非查询中有空格,否则一切正常。我正在使用 对查询字符串进行编码URLEncoder.encode(q, "UTF-8")
。
但只要查询字符串中有空格,请求就会失败并出现Please provide valid credentials. OAuth oauth_problem="signature_invalid"
错误。由于查询字符串是编码的,所以应该转义空格,以前有没有其他人遇到过并解决过这个问题?
您需要从雅虎端的授权人员那里获取凭据,即客户密钥和客户密码。一旦你得到它,你可以替换代码中的那些,然后将被授权。
我有同样的问题。你需要使用:
UrlEncoder.encode(q,"UTF-8").replace("+","%20")
您的版本破坏了您的签名,因为 Oauth 使用百分比编码对请求进行签名。所以你需要%20
. 可以在此处找到有关该主题的好文章。