繁体   English   中英

GmailApi阅读未读邮件

[英]GmailApi read unread messages

我可以连接到gmail api,并且可以阅读标签。 但是,当我尝试读取消息时,出现错误403( ListMessagesResponse listMessageResponse = service.users().messages().list("me").execute()

`{
  "code" : 403,
  "errors" : [ {
    "domain" : "global",
    "message" : "Insufficient Permission",
    "reason" : "insufficientPermissions"
  } ],
  "message" : "Insufficient Permission"
}`

我获得服务的代码:

`final String CLIENT_ID = "////";
        final String CLIENT_SECRET = "///////";
        final String APPLICATION_NAME = "///////////////";
        final String REFRESH_TOKEN = "////////////////";
        final java.io.File DATA_STORE_DIR = new java.io.File("/", "");
        FileDataStoreFactory DATA_STORE_FACTORY;
        final JsonFactory JSON_FACTORY = JacksonFactory.getDefaultInstance();
        final List<Set<String>> SCOPES = Arrays.asList(GmailScopes.all());
        HttpTransport HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();
        DATA_STORE_FACTORY = new FileDataStoreFactory(DATA_STORE_DIR);
        Credential credential = new GoogleCredential.Builder()
                .setClientSecrets(CLIENT_ID, CLIENT_SECRET)
                .setJsonFactory(JSON_FACTORY).setTransport(HTTP_TRANSPORT).build()
                .setRefreshToken(REFRESH_TOKEN);
        credential.refreshToken();
        return new Gmail.Builder(
                HTTP_TRANSPORT, JSON_FACTORY, credential)
                .setApplicationName(APPLICATION_NAME)
                .build();`

我的获取消息代码(我想获取所有未读消息并保存附件)

`ListMessagesResponse listMessageResponse = service.users().messages()
                .list("me").execute();

        List<Message> list = listMessageResponse.getMessages();
        for (Message mess : list) {
            System.out.println(mess.getRaw());
        }`

看起来您在尝试执行授权调用之前正在尝试刷新令牌。

看看gmail api示例中的authorize()方法:

https://developers.google.com/gmail/api/quickstart/java#step_3_set_up_the_sample

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM