0

G+ユーザーのアクティビティを読み取って表示しようとしています。Google oauth2を使用すると、認証が完了した後、ユーザーのaccess_tokenを受け取ることができました。

google_plusgemを使用してG+に電話をかけます。以下のコードを使用して、ユーザー情報を受け取ることができます。

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

しかし、私が以下を使用してアクティビティを取得しようとすると

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

私は以下のエラーを見ることができました、

ここに画像の説明を入力してください

Webで解決策を検索しようとしましたが、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で認証しようとしたときのスクリーンショットです。これにGoogleplusスコープが含まれていないことを願っています。これにより、omniauth.rbに{:scope=>"REQUIRED_URL_HERE_GOOGLE_PLUS_RELATED"}を追加する必要があることがわかります。しかし、そこにどのURLを指定すればよいかわかりません。

ここに画像の説明を入力してください

ありがとう、バラン

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:。これが問題の原因である可能性がありますか?

2番目の質問に答えるには、oauthリクエストでスコープを指定する必要があります。スコープのリストはhttps://developers.google.com/gdata/faq#AuthScopesにありますが、URL形式が公開されているものから変更されているように見えることは注目に値します。代わりに試してくださいhttps://www.googleapis.com/auth/xxxxx。xxxは必要なサービスです。

于 2012-06-13T03:48:05.183 に答える