2017-12-04 8 views
0

これは愚かな/基本的な質問かもしれません。しかしここにそれは行く。Gmail APIとGoogle App Engineの使用時の認証

私は、ユーザーのGmailからの情報を照会して表示するウェブアプリを構築しようとしています。次のように私の現在の考え方は次のとおりです。

  • は、「過去1ヶ月でどのようにこのような多くの電子メール」のようなクエリで取るのエンドポイントがあり、正しいを返します(Pythonでコード化された)GoogleのAppEngineの上のバックエンドランを持っています回答。

  • フロントエンドは、RESTを使用してエンドポイントにクエリを実行できるウェブサイトまたはAndroidアプリです。

現在、認証で問題が発生しています。私は私のアプリの認証の正しい流れを知りたいと思う。私が見る限り、2つの可能性のあるオプションがあります:

1)フロントエンドを使用して、ユーザーがログインしているかどうかを確認します。そうでない場合は、認証して、バックエンドにユーザーの資格情報を送信します(javascriptバージョンのGMAIL APIおそらく?)。 2)バックエンドに認証を処理させます。エンドポイントでクエリを取得すると、ユーザーが認証されていない場合、ユーザーはログインページにリダイレクトされます。私がこれを持っている問題の1つは、AppEngineでPythonを使用していて、Python用のGMAIL APIチュートリアルではすべて、ハードディスク上のJSONファイルからcredentials/clientIDを読み取る必要があるということです。 AppEngineではローカルディスクにファイルを保存できないため、これは不可能です。

誰かが私を正しい方向に向けることができますか?

ありがとうございました。

+0

あなたはApp Engineの中でJSONファイルを保存することができないとはどういう意味ですかJSONファイル内に格納することなく、JSONファイル

from oauth2client.client import flow_from_clientsecrets ... flow = flow_from_clientsecrets('path_to_directory/client_secrets.json', scope='https://www.googleapis.com/auth/calendar', redirect_uri='http://example.com/auth_return') 

のclient_idとclient_secret? App EngineにJSONファイルを保存して、認証コード内のJSONファイルへのパスをポイントするだけで済みます。 –

+0

@BravinBalasubramaniam https://cloud.google.com/appengine/docs/standard/php/googlestorage/ JSONファイルからGoogle Cloud Storageを使用して読み込む必要がありますか? Javascript用のGMAIL APIチュートリアルのようにClientIDを直接使用したいだけです。 – user3259937

答えて

0

JSONファイルを保存するためにGoogleクラウドストレージを必要としません.Apple Engineに保存することもできますし、JSONファイル内に保存せずに直接コード自体のclientIDとして使用することもできます。

from oauth2client.client import OAuth2WebServerFlow 
... 
flow = OAuth2WebServerFlow(client_id='your_client_id', 
          client_secret='your_client_secret', 
          scope='https://www.googleapis.com/auth/calendar', 
          redirect_uri='http://example.com/auth_return') 

Please refer this documentation for further details

関連する問題