如何从Google_Service_Gmail_MessagemessageId 获取消息labelId
类似的东西:
$messages = $gmailService()->users_messages->listUsersMessages('me', ['q' => 'newer_than:1d in:anywhere']);
foreach ($messages as $message) {
$messageLabels = $message->getLabelIds();
}
Run Code Online (Sandbox Code Playgroud)
如果您尝试在页面底部的API资源管理器,您将看到列出消息只会为您提供消息的ID:
响应
{
"messages": [
{
"id": "1527ddcca0fd0e08",
"threadId": "1525a22606f6d608"
},
{
"id": "1527d0e3b13fab83",
"threadId": "152792b4f30977ae"
}, ...
],
"nextPageToken": "13090329777308767238",
"resultSizeEstimate": 100
}
Run Code Online (Sandbox Code Playgroud)
您需要使用消息ID单独获取这些消息,您可以在此处尝试:
响应
{
"id": "1527ddcca0fd0e08",
"threadId": "1525a22606f6d608",
"labelIds": [
"INBOX",
"IMPORTANT",
"CATEGORY_FORUMS"
],
"historyId": "721186",
"internalDate": "1453810567000",
"payload": {
"mimeType": "multipart/alternative",
"filename": "", ...
Run Code Online (Sandbox Code Playgroud)
如您所见,此响应包含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();
Run Code Online (Sandbox Code Playgroud)