0

我创建了一个 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 和 secret 并尝试了许多其他可能性,但无法深入了解这一点。我在这里有什么遗漏吗?我可以尝试其他任何选择吗?

4

2 回答 2

1

HTTP 响应还包含一个更具描述性的错误消息,解释您的请求无效的原因。我不知道 Ruby 库,但必须有一种方法可以访问该字段。如果没有,您还可以使用 Wireshark 或 Fiddler 之类的工具来捕获流量并检查响应。

于 2012-09-14T08:40:12.857 回答
0

我想通了这个问题。这是 OAuth gem 版本的问题,我使用的是 OAuth 0.4.6,需要使用 OAuth 0.4.5 才能与我使用的语法兼容。

于 2012-09-14T22:56:02.247 回答