2016-06-13 2 views
0

私の解決策では、Gmailからメッセージを取得する必要があります。私はとき、特に、 しかし、毎回、私はそれを行うとき、私はそれを確認した場合、私は必要なデータを取得し、 enter image description hereGmail API:永続的な確認なしにデータを使用できるようにする

確かに私のローカルマシン上でこのメッセージが表示されますが、このアプローチはうまく私に合いませんそれを毎日実行するつもりです。 誰でも知っていますか、この確認ウィンドウをどうやって避けることができますか? ありがとうございました。

答えて

0

Service Accountsを代わりに使用してください。

サービスアカウントは、ユーザー情報にアクセスしないアプリケーションの の代わりにAPIを呼び出すアプリケーションで使用されます。この種類の アプリケーションでは、独自のIDを証明する必要がありますが、要求を承認するのに ユーザーは必要ありません。

Setting up service account

  1. は、オープンサービスは、開発者コンソールの権限]ページのセクションを占めています。
  2. [サービスアカウントの作成]をクリックします。 [サービスアカウントの作成]ウィンドウで、サービスアカウントの名前を入力し、新しいプライベートの キーを選択します。
  3. Google Appsのドメイン全体の権限をサービスアカウントに付与する場合は、Google Appsドメイン全体を有効にする 委任も選択します。次に、「作成」をクリックします。あなたの新しい公開鍵/秘密鍵のペアは であり、あなたのマシンにダウンロードされます。このキーの唯一のコピー として機能します。あなたはそれを安全に保管する責任があります。あなたは電子メール アドレス、公開鍵の指紋、およびその他の情報を表示するには、いつでも、または にデベロッパーコンソールに戻ることができ

は、追加の公開鍵/秘密鍵のペアを生成します。 Developers Consoleの サービスアカウントの資格情報の詳細については、Developers Consoleヘルプファイルのサービス アカウントをご覧ください。

サービスアカウントの電子メールアドレスをメモし、 アカウントのP12秘密鍵ファイルを アプリケーションにアクセスできる場所に保存します。アプリケーションで許可されたAPI呼び出しを行う必要があります。

1

オフラインアクセスの許可を求める必要があります。

アプリケーションがオフラインアクセスを必要とする場合は、アプリケーションが初めて認証コードを交換したときに、以前のトークンの有効期限が切れた後に新しいアクセストークンを受け取るために使用する更新トークンも受信されます。アプリケーションは、このリフレッシュトークンを後で使用できるように(通常はサーバー上のデータベースに)保存します。

残念なことに、残念ながら、その方法の例は十分ではありません。

最初に行う必要があるのは、ログインURLの取得をリクエストする際に、スコープに「オフライン」を追加することです。これを行うと、APIの応答で更新トークンが取得されます。そのトークンをデータベースに保存し、アカウントにアクセスする必要があるときはいつでも、トークンを更新して、ユーザーからの許可を要求することなくアクセストークンを取得することができます。 PHPで

は、彼らのSDKを使用して、リフレッシュは、(クライアントがクライアントクラスのインスタンスである)

$this->client->refreshToken($refreshToken)

ように簡単に行うことができます。彼らが提供する他のすべてのSDKでも似ているはずです。使用しているクラスの機能を確認してください。

関連する問題