Google API客户端错误:Google :: APIClient :: ClientError
我已将Google云端硬盘与我的应用整合在一起,直到今天都运行良好。我没有改变任何代码或客户端的ID,并在我们的网站授权GDrive的现在时收到此错误:Google API客户端错误:Google :: APIClient :: ClientError
谷歌:: APIClient :: ClientError
无法检索发现文档:https://www.googleapis.com/discovery/v1/apis/oauth2/v2/rest
我使用Ruby谷歌API客户端,这里的地方抛出的错误代码:“结果= gclient.execute”
require 'google/api_client'
gclient ||= (begin
client = Google::APIClient.new
client.authorization.client_id = Rails.application.config.gdrive_client_id
client.authorization.client_secret = Rails.application.config.gdrive_client_secret
client.authorization.redirect_uri = "#{request.protocol}#{Rails.application.config.host_url}/users/auth/gdrive"
client.authorization.access_token = auth_token.token
client.authorization.scope = [
"https://www.googleapis.com/auth/drive",
"https://www.googleapis.com/auth/userinfo.email",
"https://www.googleapis.com/auth/userinfo.profile"
]
client
end)
result = gclient.execute!(
:api_method => 'oauth2.userinfo.get',
:version => 'v2'
)
错误的出现。 Google Ruby API客户端库中的内容有所改变吗?
否 - Ruby库中没有任何更改。这是由于Google在https://www.googleapis.com/discovery/v1/apis提供的网络服务发生了变化而引起的。
我知道这一点,因为我今天从python API库中遇到同样的问题。
我找到了部分解决方法,这是为了避免使用发现服务并直接点击URL。对于用户信息的OAuth2服务的URL是
https://www.googleapis.com/oauth2/v1/userinfo?alt=json&access_token=USER_TOKEN_HERE
这是不是一个伟大的长期解决方案,但希望将持有你在直到谷歌解决他们的发现服务。
更新 - 看起来就像是回到了现在(截至8月16日,2:07PST)
导致问题的更改已回滚。现在按预期工作。 – 2012-08-16 21:17:21
谢谢@SteveBazyl – ramz15 2012-08-16 21:21:05
曾经有
{ “ID”: “OAuth的:V2”, “名称“: “OAuth的”, “版本”: “V2” ... }
上https://www.googleapis.com/discovery/v1/apis
现在不在那里。
这就是问题所在。
这是问题的症状。
看起来这是一个Google问题,当试图用其他应用程序打开Google云端硬盘映像时,我得到了完全相同的错误。 – ramz15 2012-08-16 20:31:35