我正在使用Rails应用中的Google Signet客户端来访问Google API,现在主要通过OAuth 1访问Provisioning API.Google刚刚在Admin SDK名字下面推出了一组新的API。具体来说,我对Directory API的功能很感兴趣。遗憾的是,Directory API通过signet客户端不断返回“Invalid Credentials”响应。
我的OAuth身份验证通过Google Marketplace进行,以执行密钥等操作。以下是代码如何生成客户端的示例:
oauth_args = {
:authorization_uri => "https://www.google.com/accounts/OAuthAuthorizeToken",
:token_credential_uri =>"https://www.google.com/accounts/OAuthGetAccessToken",
:client_credential_key => < google_marketplace_consumer_key >,
:client_credential_secret => < google_marketplace_consumer_secret >
}
client = Signet::OAuth1::Client.new(oauth_args)
client.two_legged = true
client.requestor_id = self.owner.email
client.get(:uri=>'https://www.googleapis.com/admin/directory/v1/users?key=<api key>&domain=< my test domain >')
奇怪的是,同样的请求在OAuth1操场上运行得很好,使用了我在本地环境中使用的相同测试密钥,但每次我点击Directory API时都会得到相同的“无效凭据”。另请注意,除了请求的URL之外,这与我用于配置API的代码相同。
任何人都知道为什么这个API特别似乎与客户端或我如何授权有问题?我为我的帐户启用了API。
答案 0 :(得分:0)
最终与signet客户端无关,只是与Google Marketplace权限有关; “无效凭据”错误更像是一个红色的鲱鱼。 Migrate application developed with the Provisioning API to the new api (Admin SDK)列出的步骤是否有效;我为我的应用启用了API,但没有更新清单。