我无法使用Node.js和Google API将电子邮件标记为已读

时间:2018-12-13 20:50:12

标签: node.js https gmail-api alexa-skill

我无法使用Alexa技能将邮箱中的电子邮件标记为已读。我不知道我做错了什么。我可以使用axios.get获取电子邮件内容和电子邮件ID。我很确定自己确实正确设置了范围“ https://www.googleapis.com/auth/gmail.modify”。 这是我的代码。

const accessToken = handlerInput.requestEnvelope.context.System.user.accessToken;
        const apiUrl = `https://www.googleapis.com/gmail/v1/users/me/messages/${messageID}/modify?access_token=${accessToken}`;


        await axios.post(apiUrl,{
            data: JSON.stringify({"removeLabelIds": [
             "UNREAD"
            ]
           })}
        ).then(function (response) {
                //speechText += response.data.htmlLink;
            //console.log(response);
            speechText += response.data.htmlLink;
            })
            .catch(function (error) {
                speechText += 'error.................'+error;
            //console.log(error);
            });

我也尝试删除JSON.stringify,但仍然无法正常工作。 这是我的错误

Error: Request failed with status code 400

0 个答案:

没有答案