Попытка получить сообщение Gmail с указанным идентификатором сообщения.Я извлекаю сообщение как необработанный тип и пытаюсь декодировать его в base64, а затем использую ссылки, содержащиеся в электронном письме.Похоже, что сообщение несколько расшифровано, но похоже на бесполезные байты, а URL-адреса все еще недействительны.
def GetMessageWithId(service, user_id, msg_id, format):
try:
message = service.users().messages().get(userId=user_id,
id=msg_id,
format=format).execute()
msg_str = str(base64.urlsafe_b64decode(message["raw"].encode("ASCII")))
return msg_str
except errors.HttpError as error:
print("An error occurred: %s" % error)
Когда я проверяю msg_str
, я вижу, где находятся ссылки, но если я пытаюсь скопировать их и поместить в браузер, они недействительны.
Затем я пытаюсь использовать красивый суп, чтобы найти теги href
внутри msg_str
.Тем не менее, найденные ссылки выглядят примерно так:
3D "https://post.pinterest=\r\n.com/f/a/WRi5L7G_wfTW1BovkyUGuw~~/AAAAAQA~/RgRe6WEYPwRXCXBpbnRlcmVzdEIKABwY=\r\n3AZdrwvFllIXdHVyZ2VvbmNocmlzM0BnbWFpbC5jb21YBAAAAAA~?target=3Dhttps%3A%2F%2=\r\nFwww.pinterest.com%2Fsecure%2Fautologin%2F%3Fod%3DFux7G1fLpQxdgu%252FAlq7%2=\r\n52FO0wnXhG3mrIvODBVUav9ko5yjUdnc84zWzwWN%252BPJyxYElh86K0WCnm9Th%252F6kUWW%=\r\n252FfcKmC7yJz0qo50Ss4EaaUahZGfo19MQS%252BIeP4Dlvz0hgCjvxIS4R%252BPMAF%252FG=\r\nl9BpWrQ%253D%253D%26user_id%3DNjEwMDk3MjE4MTc4OTE0MjA0%26next%3D%252Fpin%25=\r\n2F806707351985179613%252F%253Futm_campaign%253Dpopular_pins%2526e_t%253De5a=\r\nb90da0abf493b944b3c27261acfe3%2526utm_content%253D806707351985179613%2526ut=\r\nm_source%253D31%2526utm_term%253D1%2526utm_medium%253D2012
Я ожидаю, что вся необработанная электронная почта сможет быть декодирована вHTML, но кажется, что это только часть письма. Я приложу ссылку на документацию Gmail для этого сообщения get https://developers.google.com/gmail/api/v1/reference/users/messages/get