Node.js Gmail API nodejs messages.list标签不工作
我在服务器中使用node.js访问用户的Gmail收件箱。OAuth2部分工作得很好,但是当我试图指定收件箱来获取消息列表时,它似乎被忽略了。我得到了完整的邮件ID数组,而不仅仅是收件箱中的ID。在每次尝试中,我都会得到前100条消息ID的数组,但收件箱中只有5条消息。我也尝试过使用其他标签,如“未读”,结果也一样 似乎“labelIds”参数没有在请求中传递(或被忽略)。请记住,这是在使用Node.js API而不使用Express.js 下面是代码片段。我错过了什么Node.js Gmail API nodejs messages.list标签不工作,node.js,google-api,gmail-api,google-api-nodejs-client,Node.js,Google Api,Gmail Api,Google Api Nodejs Client,我在服务器中使用node.js访问用户的Gmail收件箱。OAuth2部分工作得很好,但是当我试图指定收件箱来获取消息列表时,它似乎被忽略了。我得到了完整的邮件ID数组,而不仅仅是收件箱中的ID。在每次尝试中,我都会得到前100条消息ID的数组,但收件箱中只有5条消息。我也尝试过使用其他标签,如“未读”,结果也一样 似乎“labelIds”参数没有在请求中传递(或被忽略)。请记住,这是在使用Node.js API而不使用Express.js 下面是代码片段。我错过了什么 var http = r
var http = require("http");
var url = require("url");
var fs = require('fs')
var google = require('googleapis');
var googleAuth = require('google-auth-library');
...
var oauth2Client = new auth.OAuth2(clientId, clientSecret, redirectUrl);
var gmail = google.gmail('v1');
gmail.users.messages.list ({
auth:oauth2Client,
userId:'me',
labelIds:"INBOX"}, function (err, result)
{
... etc.
User.message.list接受标签id。因此,首先我们搜索用户标签 答复:
{
"id": "INBOX",
"name": "INBOX",
"messageListVisibility": "hide",
"labelListVisibility": "labelShow",
"type": "system"
},
现在我们知道要传递的正确值是INBOX
当要传递的正确值为
inbox
时,代码将使用inbox
。如果您说您已经尝试了此功能,我建议您再试一次,编辑您的问题,并发布您使用收件箱时应该可以使用的任何错误。于2月17日更新了问题。在您的收件箱标签示例中,“messageListVisibility”:“hide”是否与此问题相关?
{
"id": "INBOX",
"name": "INBOX",
"messageListVisibility": "hide",
"labelListVisibility": "labelShow",
"type": "system"
},
GET https://www.googleapis.com/gmail/v1/users/me/messages?labelIds=INBOX&fields=*&key={YOUR_API_KEY}