MesageID Android Gmail Api
如何在Android中使用Gmail Api获取阅读特定邮件的MesageID Android Gmail Api,android,gmail,gmail-api,Android,Gmail,Gmail Api,如何在Android中使用Gmail Api获取阅读特定邮件的messageID Gmail Api的users.messages.get方法需要两个参数: 将作为用户名的userId messageID 那么,如何获取messageID以及messageID究竟是什么呢?要获取messageID,首先需要使用一些可选参数。这将返回messageid,它们只是表示消息的唯一字符串 常规http请求的示例如下: 从我自己发送的带有收件箱标签的邮件中只给我一个messageId userId = m
messageID
Gmail Api的users.messages.get
方法需要两个参数:
userId
messageID
那么,如何获取
messageID
以及messageID
究竟是什么呢?要获取messageID
,首先需要使用一些可选参数。这将返回messageid
,它们只是表示消息的唯一字符串
常规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
}
{
"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"
}, ...
然后,我在get方法中使用此messageId来获取实际内容:
GET https://www.googleapis.com/gmail/v1/users/me/messages/14f8d57248451a6c
响应:
{
"messages": [
{
"id": "14f8d57248451a6c", // This is the messageId!
"threadId": "14f8d57248451a6c"
}
],
"nextPageToken": "04016634599566360443",
"resultSizeEstimate": 2
}
{
"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"
}, ...
如果您想使用一个好的库而不是自己处理请求,则可以从中获得很大帮助。您可以列出所有消息,并从中获得MessageID
public List<Message> listAllMessages(Gmail service, String userId
) throws IOException {
ListMessagesResponse response = service.users().messages().list(userId).execute();
if (response == null || response.isEmpty())
return null;
List<Message> messages = new ArrayList<Message>();
messages.addAll(response.getMessages());
int totalMsgs = messages.size();
Message message;
if (totalMsgs > 0) {
for (int i = 0; i < totalMsgs; i++) {
message = messages.get(i); //message.getId() is what you want
}
}
return messages;
}
public List listalmessages(Gmail服务,字符串userId
)抛出IOException{
ListMessagesResponse response=service.users().messages().list(userId.execute();
if(response==null | | response.isEmpty())
返回null;
列表消息=新建ArrayList();
messages.addAll(response.getMessages());
int totalMsgs=messages.size();
信息;
如果(总MSGS>0){
对于(inti=0;i
user.messages.list:)