Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Gmail API nodejs messages.list标签不工作_Node.js_Google Api_Gmail Api_Google Api Nodejs Client - Fatal编程技术网

Node.js Gmail API nodejs messages.list标签不工作

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

我在服务器中使用node.js访问用户的Gmail收件箱。OAuth2部分工作得很好,但是当我试图指定收件箱来获取消息列表时,它似乎被忽略了。我得到了完整的邮件ID数组,而不仅仅是收件箱中的ID。在每次尝试中,我都会得到前100条消息ID的数组,但收件箱中只有5条消息。我也尝试过使用其他标签,如“未读”,结果也一样

似乎“labelIds”参数没有在请求中传递(或被忽略)。请记住,这是在使用Node.js API而不使用Express.js

下面是代码片段。我错过了什么

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}