2015-07-30 2 views
7

Я пытаюсь создать приложение, которое выяснит, ответил ли получатель на мой адрес электронной почты с помощью push-уведомления GMAIL. Он работает хорошо, но проблема в том, что я получаю уведомление о любых изменениях в моем gmail.Получать уведомление о выпуске Gmail только при поступлении нового сообщения

Вот код, который я использовал

request = { 
     'labelIds': ['UNREAD'], 
     'topicName': topic, 
     'labelFilterAction': 'include' 
    } 
service.users().watch(userId=user.google_id, body=request).execute() 

затем я попытался с помощью «labelFilterAction»: «исключить»

system_labels = ['CATEGORY_UPDATES', 'UNREAD', 'DRAFT', 'CATEGORY_PROMOTIONS', 'INBOX', 'CATEGORY_SOCIAL', 'CATEGORY_PERSONAL', 'CATEGORY_FORUMS', 'TRASH', 'CHAT', 'IMPORTANT', 'SENT', 'STARRED', 'SPAM'] 
system_labels.remove('UNREAD') 
request = { 
     'labelIds': system_labels, 
     'topicName': topic, 
     'labelFilterAction': 'exclude' 
    } 
service.users().watch(userId=user.google_id, body=request).execute() 

с этим, я не получаю никакого уведомления вообще. любое предложение?

+0

новые, непрочитанные сообщения имеют 'INBOX'-метку, так что я думаю, что все новые сообщения будут исключены. Попробуйте 'system_labels.remove ('INBOX')' также, и вы по крайней мере отфильтровываете много сообщений, но, возможно, не все. – Tholle

+0

Я пытался это сделать, но я до сих пор не получаю уведомления. – khulas15

+0

Хмм ... Попробуйте 'system_labels.remove ('INBOX')', 'system_labels.remove ('UNREAD')' и 'system_labels.remove ('CATEGORY_PERSONAL')'. Я думаю, что все! :) – Tholle

ответ

0

работает Python код

credentials = get_credentials(email) 
http = credentials.authorize(httplib2.Http()) 
service = discovery.build('gmail', 'v1', http=http) 

    request = { 
     'labelIds': ['CATEGORY_PERSONAL'], 
     'topicName': 'projects/myproject/topics/getNotification', 
     'labelFilterAction': 'exclude' 
    } 
service.users().watch(userId='me',body=request).execute() 
+1

Как это отличается от того, что уже в OP? – guival

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