gpt4 book ai didi

api - 调用Gmail API时如何使用fields参数

转载 作者:行者123 更新时间:2023-12-03 22:44:50 26 4
gpt4 key购买 nike

我在 Google Apps Script(基本上是 Javascript)中使用 Gmail API,为了效率和速度,我需要尽可能少地调用 API。

我正在使用 Users.messages: list列出用户邮箱中的消息,响应包含一个名为 messages 的数组。 ,并且对于每条消息,它包含一个 id和一个 threadId ,像这样:

 "messages": [
{
"id": "152b93b1111c33e2",
"threadId": "152b922266c33e2"
},
{
"id": "152b93338c98cb3",
"threadId": "152b922266c33e2"
} ...

但是我需要响应来包含关于每条消息的更多信息,这样我就不必单独制作 用户信息:获取 调用每条消息。

Users.messages: list 上的 API 资源管理器页面说您可以使用 fields 参数来“指定要包含在部分响应中的字段”。

当我单击“使用字段编辑器”选择我需要的三个项目时,它会在字段中填写以下内容:
messages(id,internalDate,payload)

然后当我执行命令时,它显示 GET 命令应如下所示:
https://www.googleapis.com/gmail/v1/users/test@test.com/messages?fields=messages(id%2CinternalDate%2Cpayload)&key={YOUR_API_KEY}

然而, messages结果中的数组不包括 internalDatepayload领域。它只包含消息 id只是,像这样:
 "messages": [
{
"id": "152b93b1111c33e2"
},
{
"id": "152b93338c98cb3"
} ...

它也不包括 threadId不再,但它确实继续包括 threadId如果我选择它作为字段之一,如下所示:
messages(id,threadId)

网址看起来像这样......
https://www.googleapis.com/gmail/v1/users/test@test.com/messages?fields=messages(id%2CthreadId)&key={YOUR_API_KEY}

结果看起来与上面的第一个结果完全一样,我们没有使用 fields 参数。

所以我知道 fields参数实际上是在做某事。

认为这可能只是 APIs Explorer 的一个限制,我尝试在 Google Apps 脚本中进行 API 调用,但它仍然不包括我需要的字段。

最佳答案

你快到了。

列出消息时,idthreadId每条消息都是你得到的。然后你必须get each message separately .

如果你例如只想要internalDate的消息,正是在这个请求中,它应该在 fields 中指定范围。

请求

GET https://www.googleapis.com/gmail/v1/users/me/messages/152b792a91c9c391?fields=internalDate&key={YOUR_API_KEY}

回复
{
"internalDate": "1454778787000"
}

关于api - 调用Gmail API时如何使用fields参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35249825/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com