要获取messageIds,您首先需要使用一些可选参数来获取list messages。这将返回 messageIds,它们只是表示消息的唯一字符串。
一个带有常规 http 请求的例子是:
只给我一个messageId,来自我自己发送的带有收件箱标签的邮件
userId = me
labelIds = INBOX
maxResults = 1
q = from:me
GET https://www.googleapis.com/gmail/v1/users/me/messages?labelIds=INBOX&maxResults=1&q=from%3Ame
回应:
{
"messages": [
{
"id": "14f8d57248451a6c", // This is the messageId!
"threadId": "14f8d57248451a6c"
}
],
"nextPageToken": "04016634599566360443",
"resultSizeEstimate": 2
}
然后我在 get 方法中使用这个 messageId 来获取实际内容:
GET https://www.googleapis.com/gmail/v1/users/me/messages/14f8d57248451a6c
回应:
{
"id": "14f8d57248451a6c",
"threadId": "14f8d57248451a6c",
"labelIds": [
"SENT",
"INBOX",
"IMPORTANT"
],
"snippet": "",
"historyId": "563949",
"internalDate": "1441185342000",
"payload": {
"mimeType": "multipart/mixed",
"filename": "",
"headers": [
{
"name": "MIME-Version",
"value": "1.0"
},
{
"name": "Received",
"value": "by 10.28.99.138 with HTTP; Wed, 2 Sep 2015 02:15:42 -0700 (PDT)"
},
{
"name": "Date",
"value": "Wed, 2 Sep 2015 11:15:42 +0200"
}, ...
如果您想使用一个不错的库而不是自己处理请求,Android Quickstart 可以为您提供很大帮助。