2016-03-21 15 views
0

Ich kann eine Verbindung zu Gmail api, & können Etiketten lesen. Aber wenn ich Nachrichten lesen versucht, ich habe einen Fehler 403 (ListMessagesResponse listMessageResponse = service.users().messages().list("me").execute())GmailApi lesen ungelesene Nachrichten

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

Mein Code für das Erhalten Service:

`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();` 

Und mein Code für Nachrichten erhalten (i alle ungelesenen Nachrichten erhalten möchten, und speichern Sie Anhänge)

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

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

Antwort