2014-11-14 2 views
1

Я строю сайт, используя flask, в котором люди могут авторизовать мой сайт для своей учетной записи gmail, используя Flask-OAuthlib. Первоначальная авторизация работает нормально, и после этого я могу получить userinfo вот так:Как получить сообщения Gmail с Flask OAuthlib?

userinfo = google.get('userinfo') 
print userinfo.raw_data # prints out a raw json object with the userinfo 

Затем я попытался получить список сообщений. Я могу сделать это с помощью исходного URL, как это:

import requests 
emailList = requests.get('https://www.googleapis.com/gmail/v1/users/' + userId + '/messages?access_token=' + accessToken) 
print emailList.json() # prints out a list of message `id`s and `threadId`s 

Но я не понимаю, как я могу это сделать с помощью Колбы OAuthlib. Я попробовал некоторые из следующих вещей, но ни один из них не работает:

messages = google.get('messages') 
messages = google.get('/users/' + userId + '/messages') 
messages = google.get('users') 
messages = google.get('usermessages') # I know this sucks, but I'm pretty desperate.. 

Кто-нибудь знает, как я могу получить список сообщений (и после этого отдельные сообщения) с этим Колба OAuthlib? Все советы приветствуются!

вопрос о бонусе: есть ли способ поиска сообщений по строкам и от того, есть ли у них вложение или нет?

ответ

0

Вы можете использовать Imap для входа в систему Если вы в состоянии получить access_token и электронную почту пользователя.

После получения access_token с помощью КОЛБУ OAuthlib вы можете пойти на следующей дискуссии:

stackoverflow.com/questions/9134491/access-gmail-imap-with-oauth-2-0-access-token

с другой стороны, этот учебник также описывает ваш точный запрос:

https://medium.com/@etothemanders/using-flask-oathlib-with-the-gmail-api-47079e85202d

Я не пробовал, но собираюсь и подтвердить здесь, когда сделано.

Смежные вопросы