繁体   English   中英

Gmail API - 使用 users.threads.list 与 users.messages.list 获得不同的结果

[英]Gmail API - Getting different results with users.threads.list vs users.messages.list

我正在使用 messages.list 获得匹配的 Gmail 主收件箱,但是threads.list 缺少一些。 这是预期的行为还是错误? 您可以在下面看到缺少线程 177c7390dbe418f6。

//Node
const { google } = require('googleapis');
....
gmail.users.messages.list({ userId: 'me', q: "category:primary" }
"messages": [
      {
        "id": "177d95c243426586",
        "threadId": "177c7390dbe418f6" //<-- missing
      },
      {
        "id": "177d916083ea15f2",
        "threadId": "177d916083ea15f2"
      },
      {
        "id": "177d8e899d5f4182",
        "threadId": "177d8e899d5f4182"
      },
      {
        "id": "177d8a7f03de3e21",
        "threadId": "177d8a7f03de3e21"
      },
      {
        "id": "177d87e44979a7ae",
        "threadId": "176d6316f79dafac"
      }
    ],

//messages with threads included
[
    [
      {
        "id": "177c7390dbe418f6",
        "threadId": "177c7390dbe418f6", //<--Missing
        "labelIds": [
          "SENT"
        ]
      },
      {
        "id": "177cb7de28523956",
        "threadId": "177c7390dbe418f6", //<--Missing
        "labelIds": [
          "IMPORTANT",
          "CATEGORY_PERSONAL",
          "INBOX"
        ]
      },
      {
        "id": "177d95c243426586",
        "threadId": "177c7390dbe418f6", //<-- Missing
        "labelIds": [
          "UNREAD",
          "IMPORTANT",
          "CATEGORY_PERSONAL",
          "INBOX"
        ]
      }
    ],
    [
      {
        "id": "177d916083ea15f2",
        "threadId": "177d916083ea15f2",
        "labelIds": [
          "UNREAD",
          "IMPORTANT",
          "CATEGORY_PERSONAL",
          "INBOX"
        ]
      }
    ],
    [
      {
        "id": "177d8e899d5f4182",
        "threadId": "177d8e899d5f4182",
        "labelIds": [
          "UNREAD",
          "IMPORTANT",
          "CATEGORY_PERSONAL",
          "INBOX"
        ]
      }
    ],
    [
      {
        "id": "177d8a7f03de3e21",
        "threadId": "177d8a7f03de3e21",
        "labelIds": [
          "UNREAD",
          "IMPORTANT",
          "CATEGORY_PERSONAL",
          "INBOX"
        ]
      }
    ],
    [
      {
        "id": "176d6316f79dafac",
        "threadId": "176d6316f79dafac",
        "labelIds": [
          "SENT"
        ]
      },
      {
        "id": "177d87e44979a7ae",
        "threadId": "176d6316f79dafac",
        "labelIds": [
          "UNREAD",
          "IMPORTANT",
          "CATEGORY_PERSONAL",
          "INBOX"
        ]
      }
    ]
  ]

VS

gmail.users.threads.list({ userId: 'me', q: "category:primary" }
"threads": [
      {
        "id": "177d916083ea15f2",
        "historyId": "8030491"
      },
      {
        "id": "177d8e899d5f4182",
        "historyId": "8030418"
      },
      {
        "id": "177d8a7f03de3e21",
        "historyId": "8030344"
      },
      {
        "id": "176d6316f79dafac",
        "historyId": "8030240"
      },
      {
        "id": "177d8504c8c8b1f3",
        "historyId": "8030163"
      }
    ],
//Threads with threads included
[
    [
      {
        "id": "177d916083ea15f2",
        "threadId": "177d916083ea15f2",
        "labelIds": [
          "UNREAD",
          "IMPORTANT",
          "CATEGORY_PERSONAL",
          "INBOX"
        ]
      }
    ],
    [
      {
        "id": "177d8e899d5f4182",
        "threadId": "177d8e899d5f4182",
        "labelIds": [
          "UNREAD",
          "IMPORTANT",
          "CATEGORY_PERSONAL",
          "INBOX"
        ]
      }
    ],
    [
      {
        "id": "177d8a7f03de3e21",
        "threadId": "177d8a7f03de3e21",
        "labelIds": [
          "UNREAD",
          "IMPORTANT",
          "CATEGORY_PERSONAL",
          "INBOX"
        ]
      }
    ],
    [
      {
        "id": "176d6316f79dafac",
        "threadId": "176d6316f79dafac",
        "labelIds": [
          "SENT"
        ]
      },
      {
        "id": "177d87e44979a7ae",
        "threadId": "176d6316f79dafac",
        "labelIds": [
          "UNREAD",
          "IMPORTANT",
          "CATEGORY_PERSONAL",
          "INBOX"
        ]
      }
    ],
    [
      {
        "id": "177d8504c8c8b1f3",
        "threadId": "177d8504c8c8b1f3",
        "labelIds": [
          "UNREAD",
          "IMPORTANT",
          "CATEGORY_PERSONAL",
          "INBOX"
        ]
      }
    ]
  ]

以及 gmail 截图: Gmail 图片

和有问题的消息:

 {
    "id": "177d95c243426586",
    "threadId": "177c7390dbe418f6",
    "labelIds": [
      "UNREAD",
      "IMPORTANT",
      "CATEGORY_PERSONAL",
      "INBOX"
    ],
    "snippet": "...",
    "historyId": "8030637",
    "internalDate": 1614259426000,
    "headers": {
      "delivered-to": "abbe...",
      "received": "from ...     by smtp.gmail.com with ESMTPSA id ...       for ...   (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);        Thu, 25 Feb 2021 05:23:49 -0800 (PST)",
      "x-received": "by 2002:a63:574c:: with SMTP id h12mr2977961pgm.79.1614259429959;        Thu, 25 Feb 2021 05:23:49 -0800 (PST)",
      "arc-seal": "...",
      "arc-message-signature": "...",
      "arc-authentication-results": "i=1; mx.google.com;       dkim=pass header.i=@gmail.com header.s=20161025 header.b=j4XrBr4D;       spf=pass (google.com: domain of askho56@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=askho56@gmail.com;       dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com",
      "return-path": "<...@gmail.com>",
      "received-spf": "pass (google.com: domain of ...@gmail.com designates 209.85.220.41 as permitted sender) client-ip=...;",
      "authentication-results": "mx.google.com;       dkim=pass header.i=@gmail.com header.s=20161025 header.b=j4XrBr4D;       spf=pass (google.com: domain of ...@gmail.com designates 209.85.220.41 as permitted sender) smtp.mailfrom=askho56@gmail.com;       dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com",
      "dkim-signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;        d=gmail.com; s=20161025;        h=from:to:references:in-reply-to:subject:date:message-id:mime-version         :thread-index:content-language;        bh=9RIVZJQIdQ145qicwqQ7iKS3TwjG9ZDheghiZUXFXuI=;        b=j4XrBr4DxweFoikxZY8lZyealxFGXhiIU5pKqiPlomhBkBCXnI7N92ApKKVm/Skf2r         pAMmfUx7DmPJVQXTTIUfZd1gR13tz2DavTeD9AjpORQaY0NUGzPzp4sGKGFj0NTTLrAR         +3wfY1xLUHmNuQ8Z+PL6c5flVYt2KS3LvvliKgAnmnFVYRLllvs4satCuDtQhP+HgALz         QMZPgCZUq99snfuJXTZC9SkdF8l6vKJAd+zq6JYo5yZPxlII/MES0Xb6O3b61m5zWW11         extjaQd5B8tqof0KzDwk17qBHHc1P5mc5MYmDNyLaJMqcdgZaatyuQUuUHQJbjt2/CDo         F2sw==",
      "x-google-dkim-signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;        d=1e100.net; s=20161025;        h=x-gm-message-state:from:to:references:in-reply-to:subject:date         :message-id:mime-version:thread-index:content-language;        bh=9RIVZJQIdQ145qicwqQ7iKS3TwjG9ZDheghiZUXFXuI=;        b=bM7BL8AaIFGZ3ft3UUaVWwKb/OkzftkB1fn11PjGCeDjX9/Qts2hV5YUzxvWDmExth         1wDTDWuY3jsckatmaFOHIi68KNs4miI3ar3pkkUWWaVat3CMBS3D0d45nynw4R9yJ1UY         Za9oyVZVlx2dKjvmlrGq1GfrAubE7oBILnNSesXw4ktkGVGtt4wBRDOUS2Lp7GtIacBo         AkhWOj66h6D8Z3pDQksYkKmR6icEodEZqF+GnGRRSKIlOXTJgJ+ZOSD8WlxTXqfquDLZ         zam5t2Jfw1LDh38iEYGNwmTRgS/8OGD/IIchqeaRAzI8dDSacWyDD68B8ZM/+CYZeq5K         8Lqg==",
      "x-gm-message-state": "AOAM5315vcQLZN2q6mzYzD1h/Q+VjgxfftKW/9of/zsMG+2gAD9JT+KQ NwwwUxxzIFTcNdvQP73IJcfoL4ykZfA=",
      "x-google-smtp-source": "ABdhPJxvsCGrYU2YwKb/RmhkcFeGuQ8euddnu7MMVdfBfKNmVyRg8SoqEAsOFJBJz6B84Hri6GGD8A==",
      "from": "arthur ...<...@gmail.com>",
      "to": "\"'...'\" <...@gmail.com>",
      "references": "<887dff91ea6722640b52d2bc0ada71f9@10.0.0.7>",
      "in-reply-to": "<887dff91ea6722640b52d2bc0ada71f9@10.0.0.7>",
      "subject": "RE: ...",
      "date": "Thu, 25 Feb 2021 23:23:46 +1000",
      "message-id": "<000001d70b79$73f4cb50$5bde61f0$@gmail.com>",
      "mime-version": "1.0",
      "content-type": "multipart/alternative; boundary=\"----=_NextPart_000_0001_01D70BCD.45A28900\"",
      "x-mailer": "Microsoft Outlook 14.0",
      "thread-index": "AQL0hDxR4rpHIlSy+HdzbUnuCjMJK6gt5/1A",
      "content-language": "en-au"
    },

看起来users.threads.list是按第一条消息日期排序的,而users.messages.list是按最后一条消息日期排序的。 所以线程在列表中,但它会在这条线上。 不确定 API 的人是否有意这样做。

下面是一个例子:

"threads": [
    [
      {
        "id": "1780f8decc0b5a58",
        "threadId": "1780f8decc0b5a58",
        "au_date": "3/8/2021, 11:57:35 AM"
      }
    ],
    [
      {
        "id": "1780f58cb4c7675e",
        "threadId": "1780f58cb4c7675e",
        "au_date": "3/8/2021, 10:58:57 AM"
      },
      {
        "id": "1780f5e7f6a06cba",
        "threadId": "1780f58cb4c7675e",
        "au_date": "3/8/2021, 11:05:54 AM"
      }
    ],
    [
      {
        "id": "1780f3c8a5126706",
        "threadId": "1780f3c8a5126706",
        "au_date": "3/8/2021, 10:28:40 AM"
      },
      {
        "id": "1780f55af3e43cb9",
        "threadId": "1780f3c8a5126706",
        "au_date": "3/8/2021, 10:56:16 AM"
      },
      {
        "id": "1780f9ee29256bac",
        "threadId": "1780f3c8a5126706",
        "au_date": "3/8/2021, 12:16:12 PM" <--this is the latest message however it is down the line a bit.
      }
    ],
]
    

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM