2017-12-04 1 views
0

이것은 바보 같거나 기본적인 질문 일 수 있습니다. 그러나 여기에 그것은 간다.Gmail API 및 Google App-Engine을 사용할 때의 인증

나는 사용자의 Gmail에서 일부 정보를 쿼리하고 표시하는 웹 응용 프로그램을 만들려고합니다.

  • 이 같은 질의에 걸릴 엔드 포인트가 있습니다 "얼마나 많은 최근 1 개월간 이러한 메일"올바른을 반환 (파이썬으로 코딩) 구글 AppEngine에의 백엔드 실행 유무 : 다음과 같이 나의 현재 생각은 대답.

  • 프론트 엔드는 REST를 사용하여 엔드 포인트를 질의 할 수있는 웹 사이트 또는 안드로이드 앱이 될 수 있습니다.

현재이 문제는 인증 문제입니다. 내 애플 리케이션에 대한 인증의 올바른 흐름을 알고 싶습니다. 지금까지 보았 듯이 두 가지 가능한 옵션이 있습니다.

1) 프런트 엔드를 사용하여 사용자가 로그인했는지 확인합니다. 그렇지 않은 경우 인증하고 사용자 자격 증명을 백엔드로 보냅니다 (GMAIL의 자바 스크립트 버전 사용). API 아마?). 2) 백엔드가 인증을 처리하게하십시오. 끝점에서 쿼리를 가져 오면 사용자가 인증되지 않으면 사용자가 로그인 페이지로 리디렉션됩니다. 내가 가지고있는 문제 중 하나는 AppEngine에서 파이썬을 사용하고 Python 용 GMAIL API 튜토리얼에서 하드 디스크의 JSON 파일에서 자격 증명/clientID를 읽어야한다는 것입니다. 로컬 디스크에 파일을 저장할 수 없으므로 AppEngine에서는 불가능합니다.

누군가 나를 올바른 방향으로 안내 할 수 있습니까?

감사합니다.

+0

을 사용하면 앱 엔진에서 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/. 그렇다면 Google Cloud Storage를 사용하여 JSON 파일에서 읽을 필요가 있다는 뜻입니까? Javascript 용 GMAIL API 자습서 에서처럼 ClientID를 직접 사용하기 만하면됩니다. – user3259937

답변

0

JSON 파일을 저장하기 위해 Google 클라우드 저장소가 필요하지 않습니다. 사용자가 직접 App 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