2012-08-16 150 views
3

我已将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客户端库中的内容有所改变吗?

+0

看起来这是一个Google问题,当试图用其他应用程序打开Goog​​le云端硬盘映像时,我得到了完全相同的错误。 – ramz15 2012-08-16 20:31:35

回答

2

否 - 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)

+0

导致问题的更改已回滚。现在按预期工作。 – 2012-08-16 21:17:21

+0

谢谢@SteveBazyl – ramz15 2012-08-16 21:21:05

0

曾经有

{ “ID”: “OAuth的:V2”, “名称“: “OAuth的”, “版本”: “V2” ... }

https://www.googleapis.com/discovery/v1/apis

现在不在那里。 这就是问题所在。

这是问题的症状。

相关问题