【问题标题】:Fetch sender email address in Gmail message list API在 Gmail 邮件列表 API 中获取发件人电子邮件地址
【发布时间】:2020-09-04 15:13:21
【问题描述】:

我正在使用 Gmail API 获取最近 10 封电子邮件的(发件人的)电子邮件地址。
网址:https://developers.google.com/gmail/api/v1/reference/users/messages/list

Users.messages: list API 返回消息资源(仅包括电子邮件 ID)。
为了获取发件人的电子邮件地址,我必须为每个消息资源进行一次Users.messages: get API 调用,这会增加加载时间。

如何在Users.messages: list API 的响应中获取发件人的电子邮件地址以及电子邮件 ID?
或者我可以以某种方式在一次 API 调用中获取最后 10 个发件人电子邮件地址?

我当前的代码示例:

$params = [
    'labelIds' => 'INBOX',
    'maxResults' => 10
];
$emails = $service->users_messages->listUsersMessages('me', $params);
foreach ($emails->getMessages() as $email) {
    $email_data = $service->users_messages->get('me', $email->id, ['format' => 'full']);
}

【问题讨论】:

    标签: php google-api gmail-api


    【解决方案1】:

    如何在 Users.messages: list API 的响应中获取发件人的电子邮件地址以及电子邮件 ID?

    答案:

    您不能,需要使用Users.messages: get 来检索此信息。

    更多信息:

    根据Users.messages: list 关于响应资源属性的文档:

    messages[]消息列表。请注意,每个消息资源仅包含一个 id 和一个 threadId。可以使用messages: get 方法获取其他消息详细信息。

    Users.message resource 页面提供了有关可以从messages: get 检索到的完整响应的更多信息:

    {
      "id": string,
      "threadId": string,
      "labelIds": [
        string
      ],
      "snippet": string,
      "historyId": unsigned long,
      "internalDate": long,
      "payload": {
        "partId": string,
        "mimeType": string,
        "filename": string,
        "headers": [
          {
            "name": string,
            "value": string
          }
        ],
        "body": users.messages.attachments Resource,
        "parts": [
          (MessagePart)
        ]
      },
      "sizeEstimate": integer,
      "raw": bytes
    }
    

    你需要做什么:

    为了获取消息 ID 和发件人电子邮件地址,您需要拨打Users.messages: list 以获取电子邮件 ID,然后对每个消息 ID 发出 Users.messages: get 请求以获取发件人电子邮件。 由于没有Users.messages: batchGet 方法,很遗憾无法解决这个问题。

    参考资料:

    【讨论】:

    • 谢谢拉法,我已经这样做了。 Google 应至少提供发送者和接收者以及列表 API。
    猜你喜欢
    • 2016-12-23
    • 2014-09-07
    • 1970-01-01
    • 2020-03-25
    • 1970-01-01
    • 2020-01-13
    • 1970-01-01
    • 2017-07-23
    • 1970-01-01
    相关资源
    最近更新 更多