Я просмотрел большинство сообщений stackoverflow, чтобы найти ответ, но все еще не смог решить эту проблему. Это просто вопрос авторизации в API gmail, но я хочу сделать это на сервере, поэтому мне нужно следовать серверу-серверу (процедура OAuth2.0 2 legged). В любом случае, я прошел все документы oauth в Google API. Это на месте, но это не хорошо. https://developers.google.com/gmail/api/auth/web-server.
У меня есть учетная запись службы, и у меня есть файл creds.
вот мой фрагмент кода.
def call_gmail():
SCOPES = ['https://www.googleapis.com/auth/gmail.readonly']
SERVICE_ACCOUNT_FILE = '<creds_file>'
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
print(credentials)
service = build('gmail', 'v1', credentials=credentials)
messages = ListMessagesMatchingQuery(service, "me", "<Some email address>")
message_id = messages[0]['id']
Я получаю эту ошибку:
An error occurred: <HttpError 400 when requesting https://www.googleapis.com/gmail/v1/users/me/history?startHistoryId=2547406&alt=json returned "Bad Request">
"error": {
"errors": [
{
"domain": "global",
"reason": "required",
"message": "Login Required",
"locationType": "header",
"location": "Authorization"
}
],
"code": 401,
"message": "Login Required"
}
}
Буду очень признателен, если кто-то может помочь мне решить это. спасибо.