如何使用Gmail API拦截发件人?

人气:810 发布:2022-10-16 标签: python gmail-api google-api-python-client

问题描述

在我的应用程序中,我当前正在尝试阻止用户通过Gmail的API使用python应用程序。

目前我已尝试使用筛选器将电子邮件移至垃圾邮件

GMAIL.users().messages().modify(userId=user_id, id=m_id,body={ 'addLabelIds': ['SPAM']}).execute()

但我将来仍会在收件箱中收到发件人发来的电子邮件。

如何实现使用Gmail API将发件人将来的电子邮件放入垃圾邮件文件夹?

(基本上阻止发件人,就像Gmail Web应用程序中的函数一样)

使用筛选器可以做到这一点吗?

推荐答案

您尚未为此帐户创建筛选器,您只是修改了来自该帐户的所有电子邮件的标记。

若要创建筛选器,必须使用Method: users.settings.filters.create。

您有一个关于python的示例here:

label_id = 'Label_14' # ID of user label to add
filter = {
    'criteria': {
        'from': 'cat-enthusiasts@example.com'
    },
    'action': {
        'addLabelIds': [label_id],
        'removeLabelIds': ['INBOX']
    }
}
result = gmail_service.users().settings().filters().
    create(userId='me', body=filter).execute()
print 'Created filter: %s' % result.get('id')

550