Как применить фильтр для API push-уведомлений Gmail Watch - PullRequest
0 голосов
/ 02 мая 2018

Я пытаюсь подписаться / зарегистрироваться для push-уведомлений и отправить их на мой сервер. Вот что я пытаюсь

axios.post(`https://www.googleapis.com/gmail/v1/users/me/watch`, {
            "topicName": "projects/gpubsub/topics/subcription"
        }, util.authHeader(token))

API работает правильно. Теперь у меня есть несколько вопросов, таких как

  1. Как применить фильтр , например, получать уведомления только от конкретного пользователя или субъекта. Я видел фильтры используют в потоке Microsoft для Gmail

  2. Как отправить дополнительные данные, чтобы я мог получить их в атрибуты свойство при отправке уведомления на мой сервер

1 Ответ

0 голосов
/ 02 мая 2018

Фильтры отправляются как часть необязательных параметров.

watch (cb) {
const params = {
  userId: 'me',
  resource: {
    labelIds: ['INBOX'],
    labelFilterAction: 'include',
    topicName: configure.Google.TopicName
  }
};

this.gmail.users.watch(params, cb);
}

помните, что lableid - это идентификатор метки, а не ее имени, используйте lables.list , чтобы найти идентификаторы.

Я рекомендую вам использовать официальную библиотеку Google apis node.js, а не кодировать ее самостоятельно.

...