Создание фильтра Gmail API дает ошибку 500 - PullRequest
0 голосов
/ 25 мая 2020

Я пытаюсь автоматически превратить электронные письма 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

И в моем редакторе я также нет сообщения об ошибке в моей консоли: Нет ошибки консоли

Итак, есть ли те, кто знает, что происходит, почему это не работает и как я могу это исправить? Заранее спасибо.

...