我正在尝试使电子邮件自动进入Gmail垃圾邮件箱。我想通过为用户提供的每封垃圾电子邮件创建一个gmail过滤器来做到这一点。我与Cloud Firestore合作,以获取用户提供的所有给定的电子邮件作为垃圾邮件电子邮件地址。我想制作一个通过每个保存的电子邮件地址的gmail过滤器,并将gmail收件箱中的电子邮件标签从收件箱替换为垃圾邮件。我已经尝试使用以下代码进行此操作:
exports.addSpammer = async (req, res) => {
const gmail = google.gmail({version: 'v1', oAuth2Client})
try {
const data = await db.collection('spammedEmails').where('username', '==', req.user.username).get()
if (data.empty) {
return res.status(404).json({error: 'No spammed email addresses found'})
} else {
data.map(async (doc) => {
await gmail.users.settings.filters.create({
userId: 'me',
id: passomatic(1),
criteria: {
from: `${doc.data().spammedEmail}`
},
action: {
removeLabelIds: [
"INBOX"
],
addLabelIds: [
"SPAM"
]
}
})
})
}
return res.status(200).json('Spammer added')
} catch (err) {
if (err.code === "auth/id-token-expired")
return res.status(401).json({general: 'Login expired, please login again'});
else
return res.status(500).json({error: err.code})
}
}
如果我在邮递员中尝试此操作,则会得到以下信息: Postman example
在编辑器中,控制台中也没有错误消息: No console error
那么,有谁知道发生了什么,为什么它不起作用以及如何解决?预先感谢。