Я пытаюсь автоматически превратить электронные письма go в ящик для спама gmails. Я хочу сделать это, создав фильтр 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, я получу следующее: Postman example
И в моем редакторе я также нет сообщения об ошибке в моей консоли: Нет ошибки консоли
Итак, есть ли те, кто знает, что происходит, почему это не работает и как я могу это исправить? Заранее спасибо.