簡體   English   中英

使用Gmail API和Google App-Engine時的身份驗證

[英]Authentication when using Gmail API and Google App-Engine

這可能(再次)是一個愚蠢/基本的問題。 但是在這里。

我正在嘗試構建一個網絡應用程序,以查詢並顯示來自用戶Gmail的一些信息。 我目前的想法如下:

  • 使后端在Google AppEngine(使用Python編碼)上運行,該后端具有接受諸如“過去一個月中有多少此類電子郵件”之類的查詢的終結點,並返回正確的答案。

  • 前端可以是可以使用REST查詢端點的網站或android應用。

當前的問題是身份驗證。 我想知道我的應用程序正確的身份驗證流程。 據我所知,有兩個潛在的選擇:

1)使用前端檢查用戶是否已登錄。如果未登錄,請進行身份驗證並將用戶憑據發送到后端(也許使用GMAIL API的javascript版本?)。 2)讓后端處理身份驗證。 一旦在端點上獲得查詢,如果用戶未通過身份驗證,它將把用戶重定向到登錄頁面。 我遇到的問題之一是,我在AppEngine上使用Python,並且所有適用於Python的GMAIL API教程都需要從硬盤上的JSON文件中讀取憑據/ clientID。 由於我們無法在本地磁盤上存儲任何文件,因此在AppEngine上這是不可能的。

有人可以指出我正確的方向嗎?

謝謝。

您不需要Google雲存儲來存儲JSON文件,您可以將其存儲在自己的App Engine中,而且無需存儲在JSON文件中,您就可以直接將其用作代碼本身中的clientID。

JSON文件中的client_id和client_secret

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

無需存儲在JSON文件中

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

請參閱此文檔以獲取更多詳細信息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM