0

我正在尝试阅读和显示 G+ 用户的活动。使用Google oauth2,我可以在授权完成后接收用户的 access_token。

我使用google_plus gem 调用 G+,我可以使用以下代码接收用户信息

@person = GooglePlus::Person.get("user_id_goes_here", :key => "google_api_key_here")

但是当我尝试使用下面的活动时

activity = GooglePlus::Activity.get("user_id_goes_here")

我可以看到以下错误,

在此处输入图像描述

我尝试在网上搜索解决方案,有人建议超出了 api 调用限制。(默认为每天 10,000 次点击)。但我确信我今天只使用了 20-30 个电话。

对此问题的任何建议表示赞赏。

仅供参考:我刚刚在 /config/initializers/omniauth.rb 文件中添加了 google_oauth2 的配置代码,如下所示provider :google_oauth2,Rails.application.config.client_id , Rails.application.config.client_secret

注意:下面是我尝试使用 Oauth2 进行身份验证时的屏幕截图。我希望这不包括 Google plus 范围,让我知道我应该在omniauth.rb 中添加 {:scope => "REQUIRED_URL_HERE_GOOGLE_PLUS_RELATED"}。但不确定我应该在那里提供什么网址。

在此处输入图像描述

谢谢,巴兰

4

2 回答 2

0

我可以为我的问题找到解决方案..


1) Used {:scope => "https://www.googleapis.com/auth/plus.me"} in /config/initializers/omniauth.rb file
2) Used the code 

    activities = GooglePlus::Activity.for_person("user_id", :key => "GOOGLE_API_KEY").items 


希望有人会发现这很有用。

于 2012-06-12T13:37:02.410 回答
0

Google_Plus gem 要求您在每个请求中传递您的应用程序密钥。您可以内联执行此操作:

GooglePlus::Activity.get("user_id_goes_here", key: "api_key_goes_here")

或者在初始化器中设置一个全局变量

GooglePlus.api_key = 'api_key_goes_here'

gem 规范中的示例假定您已包含一个全局变量,因此不显示key:字符串。这可能是导致您出现问题的原因?

在回答您的第二个问题时,您需要在您的 oauth 请求中指定一个范围。此处给出了范围列表https://developers.google.com/gdata/faq#AuthScopes,但值得注意的是,url 格式似乎与已发布的格式有所不同。请尝试https://www.googleapis.com/auth/xxxxx,其中 xxx 是您需要的服务。

于 2012-06-13T03:48:05.183 回答