Próbuję utworzyć aplikację, która sprawdzi, czy odbiorca już odpowiedział na mój e-mail za pomocą powiadomienia push GMAIL. Działa dobrze, ale problem polega na tym, że otrzymuję powiadomienie o wszelkich zmianach w moim Gmailu.Otrzymuj powiadomienia push w Gmailu tylko wtedy, gdy przychodzi nowa wiadomość
Oto kod użyłem
request = {
'labelIds': ['UNREAD'],
'topicName': topic,
'labelFilterAction': 'include'
}
service.users().watch(userId=user.google_id, body=request).execute()
Potem próbowałem za pomocą „labelFilterAction”: „wykluczenie”
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()
z tego, że nie otrzymuję żadnego powiadomienia w ogóle. jakaś sugestia?
nowe, nieprzeczytane wiadomości ma 'INBOX'-label, tak więc myślę, że wszystkie nowe wiadomości zostaną wyłączone. Wypróbuj 'system_labels.remove ('INBOX')', a przynajmniej odfiltrujesz wiele wiadomości, ale może nie wszystkie. – Tholle
Próbowałem to zrobić, ale nadal nie otrzymuję powiadomienia. – khulas15
Hmm ... Wypróbuj 'system_labels.remove ('INBOX')', 'system_labels.remove ('UNREAD')' i 'system_labels.remove ('CATEGORY_PERSONAL')'. Myślę, że to jest to! :) – Tholle