【问题标题】:Gmail api. How to get message labels邮件 API。如何获取消息标签
【发布时间】:2016-05-03 01:53:03
【问题描述】:

如何从Google_Service_Gmail_Message或messageId获取消息labelIds

类似的东西:

$messages = $gmailService()->users_messages->listUsersMessages('me', ['q' => 'newer_than:1d in:anywhere']);

foreach ($messages as $message) {
    $messageLabels = $message->getLabelIds();
}

【问题讨论】:

    标签: php gmail-api


    【解决方案1】:

    如果您尝试页面底部的API Explorer,您将看到列出消息只为您提供消息的ID:

    回应

    {
     "messages": [
      {
       "id": "1527ddcca0fd0e08",
       "threadId": "1525a22606f6d608"
      },
      {
       "id": "1527d0e3b13fab83",
       "threadId": "152792b4f30977ae"
      }, ...
     ],
     "nextPageToken": "13090329777308767238",
     "resultSizeEstimate": 100
    }
    

    你需要用消息id单独获取这些消息,你可以try here:

    回应

    {
     "id": "1527ddcca0fd0e08",
     "threadId": "1525a22606f6d608",
     "labelIds": [
      "INBOX",
      "IMPORTANT",
      "CATEGORY_FORUMS"
     ],
     "historyId": "721186",
     "internalDate": "1453810567000",
     "payload": {
      "mimeType": "multipart/alternative",
      "filename": "", ...
    

    如您所见,此响应包含labelIds。

    示例(仅收到第一条消息)

    $messages = $service->users_messages->listUsersMessages('me', ['q' => 'newer_than:1d in:anywhere']);
    $list = $messages->getMessages();
    $messageId = $list[0]->getId();
    $message = $service->users_messages->get('me', $messageId, ['format' => 'full']);
    $labelIds = $message->getLabelIds(); 
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-11-02
    • 1970-01-01
    • 2011-09-01
    • 2016-05-10
    • 1970-01-01
    • 2018-11-03
    • 2021-08-14
    • 1970-01-01
    相关资源
    最近更新 更多