从看不见的邮件中下载附件

问题描述 投票:2回答:1

我在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 (我想这更有用)

List<Message> list = listMessageResponse.getMessages();

但是list

启动NullPointerException

然后尝试获取每个附件

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帐户。私人静态最终...

java google-api gmail gmail-api google-api-java-client
1个回答
0
投票

我认为ListMessagesResponse不会为空。即使没有与您的查询匹配的消息,结果响应中也会至少填充resultSizeEstimate:请参阅Users.messages: list > Response。>

我认为您使用的是正确的方法,只是没有符合您查询条件的消息。实际上,我以前从未见过is:unseen。您是说is:unread吗?

© www.soinside.com 2019 - 2024. All rights reserved.