Android版Gmail API获取发件箱中的邮件

问题描述:

我尝试从发件箱中只得到邮件:Android版Gmail API获取发件箱中的邮件

  String user = "me"; 
     ListMessagesResponse response = mService.users().messages().list(user).execute(); 
     //set selected labels 
     //[CATEGORY_PERSONAL, CATEGORY_SOCIAL, Регистрации, CATEGORY_FORUMS, IMPORTANT, CATEGORY_UPDATES, CHAT, SENT, INBOX, TRASH, CATEGORY_PROMOTIONS, DRAFT, SPAM, STARRED, UNREAD] 
     List<String> labelIds = new ArrayList<>(); 
     labelIds.add("SENT"); 
     List<Message> messages = new ArrayList<Message>(); 
     while (response.getMessages() != null) { 
      messages.addAll(response.getMessages()); 
      if (response.getNextPageToken() != null) { 
       String pageToken = response.getNextPageToken(); 
       response = mService.users().messages().list(user).setLabelIds(labelIds).setPageToken(pageToken).execute(); 
      } else { 
       break; 
      } 
     } 

,但我得到的消息收件箱中也

+0

为什么你不'第一'ListMessagesResponse' setLabelIds'呢? – Tholle

+1

谢谢@Tholle,这是正确的答案。 –

我需要设置过滤器的第一反应线。 此代码的工作:

String user = "me"; 
     //set selected labels 
     //[CATEGORY_PERSONAL, CATEGORY_SOCIAL, Регистрации, CATEGORY_FORUMS, IMPORTANT, CATEGORY_UPDATES, CHAT, SENT, INBOX, TRASH, CATEGORY_PROMOTIONS, DRAFT, SPAM, STARRED, UNREAD] 
     List<String> labelIds = new ArrayList<>(); 
     labelIds.add("SENT"); 
     ListMessagesResponse response = mService.users().messages().list(user).setLabelIds(labelIds).execute(); 

     List<Message> messages = new ArrayList<Message>(); 
     while (response.getMessages() != null) { 
      messages.addAll(response.getMessages()); 
      if (response.getNextPageToken() != null) { 
       String pageToken = response.getNextPageToken(); 
       response = mService.users().messages().list(user).setPageToken(pageToken).execute(); 
      } else { 
       break; 
      } 
     }