Искам да чета имейли в Gmail в собственото си приложение за Android. Има ли все пак да го направите с помощта на android sdk? Ако не, какви са другите опции? анализиране на gmail atom?
Четене на имейли в Gmail с помощта на Android SDK
comment
Въпросите за развитие не са по темата тук.
- person Matthew Read   schedule 22.05.2011
Отговори (2)
Питам и отговарям на този въпрос тук. Имате нужда от Gmail.java код (във въпроса има връзка) и трябва да разберете, че не трябва да използвате този недокументиран доставчик
Има ли добри примери за кратки кодове, които просто четат ново gmail съобщение?
person
Aracem
schedule
25.05.2011
Възможно е с помощта на API на GMail, ето някои стъпки, които намерих за полезни.
- Започнете с официалния образец, за да стартирате GMailAPI, вижте тук
- Когато следвах инструкциите, намерих за полезно да прочета за подписването на приложения тук за да получите правилно Стъпка 1+2 в примера.
- Когато извадката работи, можете да използвате информацията тук за достъп до съобщения. Можете напр. заменете изпълнението в MakeRequestTask.getDataFromApi
Не забравяйте да добавите поне обхвата само за четене за подходящи разрешения. В примера обхватите са дефинирани в масив:
private static final String[] SCOPES = { GmailScopes.GMAIL_LABELS, mailScopes.GMAIL_READONLY };
Намерението ми беше да прочета всички предмети. Използвах следния код (който е адаптираният метод getDataFromApi от официалната проба):
private List<String> getDataFromApi() throws IOException { // Get the labels in the user's account. "me" referes to the authentized user. String user = "me"; List<String> labels = new ArrayList<String>(); ListMessagesResponse response = mService.users().messages().list(user).execute(); for (Message message : response.getMessages()) { Message readableMessage = mService.users().messages().get(user, message.getId()).execute(); if (readableMessage.getPayload() != null) { for (MessagePartHeader header : readableMessage.getPayload().getHeaders()) { if (header.getName().compareToIgnoreCase("Subject") == 0) { labels.add(header.getValue()); } } } } return labels; }
person
anhoppe
schedule
14.04.2017