仅在收到新邮件时才接收Gmail推送通知

时间:2015-07-30 08:11:20

标签: gmail gmail-api

我正在尝试创建一个应用程序,以确定收件人是否已使用GMAIL的推送通知回复了我的电子邮件。 它运行良好,但问题是,我收到有关我的Gmail的任何更改的通知。

这是我使用的代码

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

然后我尝试使用'labelFilterAction':'exclude'

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()

有了这个,我根本没有收到任何通知。 有什么建议吗?

1 个答案:

答案 0 :(得分:0)

working python code

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()