Получить фильтры набора пользователей с помощью Gmail API?

avatar
Bradford Griggs
8 августа 2021 в 23:38
61
1
0

У меня есть приложение, которое вознаграждает пользователей за размещение заказов у ​​определенных продавцов, и мы планируем подключиться к почтовому ящику нашего пользователя (конечно, с его согласия!) для проверки и подтверждения того, что заказ был размещен на определенных сайтах продавцов.. Идея состоит в том, что если заказ размещен, а затем отменен, мы сможем обнаружить электронное письмо об отмене заказа, отправленное продавцом, и затем аннулировать все вознаграждения, связанные с этим заказом.

Один потенциальный недостаток этого подхода заключается в том, что пользователь может установить фильтры, которые автоматически отклоняют и удаляют входящие электронные письма, соответствующие этим фильтрам. Затем пользователь может установить фильтры в своей учетной записи, чтобы автоматически отклонять и удалять любые электронные письма об отмене, отправленные продавцом.

Можно ли с помощью API Gmail узнать, установлены ли у пользователя какие-либо фильтры (и что это за фильтры)?

Источник
schroeder
9 августа 2021 в 09:39
0

Если я настрою стороннюю систему электронной почты и получу доступ к Gmail из нее, я смогу удалить электронные письма об отмененных заказах на основе фильтров в сторонней системе, и в Gmail не будет фильтров. Весь этот подход ошибочен, и вы пытаетесь использовать API для целей, для которых он не предназначен. Вы находитесь не на том конце рычага.

Ответы (1)

avatar
iansedano
9 августа 2021 в 07:30
1

Как получить фильтры GMail пользователя, вошедшего в систему:

Используйте конечную точку users.settings.filters list.

Вот пример ответа от этой конечной точки.

{
  "filter": [
    {
      "id": "0000000",
      "criteria": {
        "from": "YOUREMAIL",
        "to": "me",
        "subject": "ORDER",
        "query": "ORDER"
      },
      "action": {
        "addLabelIds": [
          "Label_94938493840"
        ],
        "removeLabelIds": [
          "INBOX",
          "SPAM"
        ]
      }
    },
    ...
    ...
  ]
}

Поэкспериментируйте, перейдя по опубликованному мной URL-адресу и отправьте запрос с me в качестве userId, чтобы увидеть свои собственные фильтры.