我创建了一个Google Apps Marketplace应用程序,我正在尝试通过调用Google Apps Provisioning API来获取Google Apps 域的所有用户列表,但无法克服此错误:
#<Net::HTTPBadRequest 400 Bad Request readbody=true>
这是我正在使用的代码:
consumer = OAuth::Consumer.new(my_google.oauth_key,
my_google.oauth_secret,
:site => 'https://apps-apis.google.com/a/feeds/user/#readonly',
:http_method => :get)
access_token = OAuth::AccessToken.new consumer
result = access_token.get("https://apps-apis.google.com/a/feeds/my_domain.com/user/2.0?alt=json")
我的Google Apps清单文件中也有这个:
<Scope id="scopeUsers">
<Url>https://apps-apis.google.com/a/feeds/user/#readonly</Url>
<Reason>Our App will be setup for your entire domain.</Reason>
</Scope>
我已经验证了oauth_key和秘密,并尝试了许多其他可能性,但就是无法深入了解这一点。我在这里缺少什么吗?我还可以尝试其他选择吗?
HTTP 响应还包括一条更具描述性的错误消息,解释您的请求无效的原因。我不知道 Ruby 库,但一定有一种方法可以访问该字段。如果没有,您还可以使用Wireshark或Fiddler等工具来捕获流量并检查响应。
我想出了问题。这是 OAuth gem 版本的问题,我使用的是 OAuth 0.4.6,需要使用 OAuth 0.4.5 才能与我使用的语法兼容。