Я пытаюсь перечислить пользователей через API каталога администратора Google.403 ошибка из Google Admin SDK с AppAssertionCredentials
import logging
import os
from google.appengine.api import memcache
from googleapiclient import discovery
from oauth2client.contrib.appengine import AppAssertionCredentials
import httplib2
from flask import Flask
credentials = AppAssertionCredentials(scope='https://www.googleapis.com/auth/admin.directory.user')
auth_http = credentials.authorize(httplib2.Http(cache=memcache))
service = discovery.build('admin', 'directory_v1', http=auth_http)
@app.route('/list')
def list():
results = service.users().list(domain='example.com', maxResults=10, orderBy='email').execute()
return 'success'
app = Flask(__name__)
Я бегу это в App Engine и позволили общедоменный делегирование для учетной записи App Engine службы по умолчанию, как указано в https://developers.google.com/api-client-library/python/auth/service-accounts
Это ошибка, я получаю: HttpError: HTTPS : //www.googleapis.com/admin/directory/v1/users OrderBy = электронный & домен = example.com & альт = & maxResults JSON = 10 возвращаемые "Не авторизован на доступ к ресурсу/API">
Это решается путем повторного выполнения каждого шага [Общедоступная передача] (https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority), как указано @noogui. Если вам удастся решить вашу проблему, я прошу вас дать ответ или выбрать ответ noogui в качестве решения. Если у вас все еще есть проблемы, я прошу вас предоставить дополнительную информацию о текущей настройке домена. – Jordan