我在java中从事大学项目。我必须使用GMAIL API从新电子邮件中下载附件。
我已使用OAuth 2.0授权成功连接到gmail帐户。
private static final List<String> SCOPES = Collections.singletonList(GmailScopes.GMAIL_READONLY);
我尝试使用以下方法获取看不见的邮件
ListMessagesResponse listMessageResponse = service.users().messages().list(user).setQ("is:unseen").execute();
listMessageResponse不是null,但是当我调用方法。getResultSizeEstimate()时,它返回0我也尝试使用[]将listMessageResponse转换为List
启动NullPointerExceptionList<Message> list = listMessageResponse.getMessages();
但是list
然后尝试获取每个附件
for(Message m : list) { List<MessagePart> part = m.getPayload().getParts(); for(MessagePart p: part) { if(p.getFilename()!=null && p.getFilename().length()>0) { System.out.println(p.getFilename()); // Just to check attachment filename } } }
我的方法是否正确(如果不能解决,请问如何解决,我应该如何下载这些附件。
我正在用Java从事大学项目。我必须使用GMAIL API从新电子邮件中下载附件。我已使用OAuth 2.0授权成功连接到gmail帐户。私人静态最终...
我认为ListMessagesResponse
不会为空。即使没有与您的查询匹配的消息,结果响应中也会至少填充resultSizeEstimate
:请参阅Users.messages: list > Response。>
我认为您使用的是正确的方法,只是没有符合您查询条件的消息。实际上,我以前从未见过is:unseen
。您是说is:unread
吗?