IT 관리자가 Apps 마켓 플레이스에서 App을 인증하면 사용자의 이메일을 읽을 Gmail 서비스를 구축하려고합니다. 문서에서, 오른쪽 적합 할 것입니다 서비스 계정 듯하는 내가 시도 모두 : 다음 그러나 Unable to access BigQuery from local App Engine development serverGmail 서비스 용 App Engine에서 AppAssertionCredentials가있는 서비스 계정을 인증 할 수 없습니다.
에 따라 dev_appserver.py 시작
scope = "https://www.googleapis.com/auth/gmail.readonly"
project_number = "c****io"
authorization_token, _ = app_identity.get_access_token(scope)
logging.info("Using token %s to represent identity %s",
authorization_token, app_identity.get_service_account_name())
#authorization_token = "OAuth code pasted from playground"
response = urlfetch.fetch(
"https://www.googleapis.com/gmail/v1/users/me/messages",
method=urlfetch.GET,
headers = {"Content-Type": "application/json",
"Authorization": "OAuth " + authorization_token})
및
credentials = AppAssertionCredentials(scope=scope)
http = credentials.authorize(httplib2.Http(memcache))
service = build(serviceName='gmail', version='v1', http=http)
listReply = gmail_service.users().messages().list(userId='me', q = '').execute()
, HTTP 오류 코드 500 "백엔드 오류"가 표시됩니다. 같은 코드이지만 OAuth 놀이터에서 access_token을 붙여 넣으면 제대로 작동합니다 (HTTP 200). 차이가 나는 경우에 대비하여 로컬 컴퓨터에 있습니다. 내가 놓친 게 궁금한가요? IT 관리자가 내 Google Marketplace 앱을 설치 한 특정 도메인의 모든 사용자에 대한 모든 이메일을 찾으려고합니다.
도움 주셔서 감사합니다.
감사처럼 보일 것이다 구축하는 파이썬 코드! 따라서 Google Apps Marketplace 앱과 관련하여 앱을 설치 한 모든 도메인에서이 기능을 사용할 수 있습니까? 또한 여러 개의 서비스 계정을 만들 수있는 것으로 나타났습니다.이 서비스는 (SERVICE_ACCOUNT_EMAIL, private_key.p12) 조합 중 하나에서 작동합니까? 많은 도메인 전체 인증 위임 문서가 "AdminConsole : 타사 OAuth 클라이언트 액세스 관리"에 대해 이야기하지만 Marketplace 앱의 경우에는 해당되지 않기 때문에 묻습니다. 그리고 "Test Install Flow"를 사용하여 내 도메인에 앱을 설치할 때 API 클라이언트 액세스는 서비스 계정 이메일이 아니라 앱 이름을 표시합니다. –