我正在使用GmailAPI来获取最近10封电子邮件的电子邮件地址。URL:https://developers.google.com/gmail/api/v1/reference/users/messages/list
但是API返回消息资源(只包括电子邮件ID)。为了获取发件人的电子邮件地址,我必须为每条消息调用一个用户消息:获取API资源,这增加了加载时间。
我如何获取发件人的电子邮件地址以及电子邮件ID的响应User. message:list
API?
或者不知何故,我可以在一次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']);
}
我怎么能获取电子邮件地址的发件人随着电子邮件ID在用户的响应:列表API?
不能,需要使用User. message:get
来检索此信息。
根据User. message:list
留档有关响应资源的属性:
消息[]
:消息列表。请注意,每个消息资源仅包含一个id和一个threadId。可以使用消息:get
方法获取其他消息详细信息。
User. message
资源页面提供了有关能够从消息中检索的完整响应的更多信息: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. message:list
调用以获取电子邮件ID,然后对每条消息进行User.message:get
请求ID以获取发件人的电子邮件。由于没有User.message:batchGet
方法,不幸的是没有办法解决这个问题。
用户信息:列表
|GmailAPI|Google Developers用户消息:获取
|GmailAPI|Google Developers用户消息
|GmailAPI|Google Developers