Отправлять электронные письма с вложениями с моего адреса, используя Gmail API с ключом API - PullRequest
0 голосов
/ 07 октября 2018

Я пересмотрел продемонстрированные CreateMessageWithAttachment коды Python на Users.messages: отправить .Единственное отличие состоит в том, что я возвращаю {'raw': base64.urlsafe_b64encode(message.as_bytes()).decode("UTF-8")} вместо {'raw': base64.urlsafe_b64encode(message.as_string())}, поскольку последний действительно вызывает ошибки.

После этого я попытался отправить себе электронное письмо с вложением:

userID = my_email_address
API_KEY = my_api_key
# my_api_key was generated under my_email_address on GCP

email_content = CreateMessageWithAttachment(userID, userID, "Test API", "This is a test.", file_dir, filename)
r = requests.post(
    url="https://www.googleapis.com/gmail/v1/users/{}/messages/send?key={}".format(userID, API_KEY),
    data=json.dumps(email_content)
)

if r.status_code == 200:
    print("Succeed!")
else:
    print(r.status_code)

Сейчас я получаю код состояния 401, что похоже на проблему с авторизацией.Однако я понятия не имею, с чего начать решать эту проблему.Я уверен, что ключ API правильный, и ему разрешено вызывать Gmail API.

Один из подобных вопросов по SO - Как получить доступ к учетной записи Gmail, которой я владею, с помощью Gmail API? , но какместный cronjob, я не знаю, как «Зарегистрировать мое приложение в Google», как предложенный ответ.

...