Я пытаюсь получить доступ к API Gmail с помощью приложения для Android.
Я успешно запросил и получил токен доступа, используя все доступные комбинации областей видимости.
Но кажется, что каждый раз, когда я на самом деле пытаюсь использовать команду API Gmail, я получаю 403 exception reading: Access not configured please use Google developers console to activate the api...
Излишне говорить, что API активирован, и клиентский ключ был создан с использованием правильного имени пакета и кода sha1. Такой же идентификатор клиента хорошо работает с функциями Google Plus.
Любой, у кого есть эта проблема или удалось подключиться к Gmail api из Android?
Спасибо
Здесь журнал:
09-04 21:40:54.014: W/System.err(26717): com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
09-04 21:40:54.014: W/System.err(26717): {
09-04 21:40:54.014: W/System.err(26717): "code" : 403,
09-04 21:40:54.014: W/System.err(26717): "errors" : [ {
09-04 21:40:54.014: W/System.err(26717): "domain" : "usageLimits",
09-04 21:40:54.014: W/System.err(26717): "message" : "Access Not Configured. Please use Google Developers Console to activate the API for your project.",
09-04 21:40:54.014: W/System.err(26717): "reason" : "accessNotConfigured"
09-04 21:40:54.014: W/System.err(26717): } ],
09-04 21:40:54.014: W/System.err(26717): "message" : "Access Not Configured. Please use Google Developers Console to activate the API for your project."
09-04 21:40:54.014: W/System.err(26717): }
Есть ли какой-либо другой API, который должен быть включен в API-консоли, кроме API Google+ и API Gmail?
EDIT:
Я выяснил, что использование аутентификации на основе WebView приведет к токену доступа, который предоставит доступ к API Gmail, но это недействительное решение, потому что токен недолговечен. На данный момент GoogleAuthUtil предоставит токен, но его привилегий недостаточно для использования API Gmail. кто-нибудь имел успех в подключении Android к API Gmail и хотел бы поделиться?
EDIT2:
Вот фрагменты того, что я делаю:
Получение маркера:
token = GoogleAuthUtil.getToken(MainActivity.this, Plus.AccountApi.getAccountName(mGoogleApiClient), scope);
Попытка получить сообщения из API Gmail:
GoogleCredential credential = new GoogleCredential().setAccessToken(token);
JsonFactory jsonFactory = new JacksonFactory();
HttpTransport httpTransport = new NetHttpTransport();
service = new Gmail.Builder(httpTransport, jsonFactory, credential).setApplicationName("GmailApiTP").build();
ListMessagesResponse messagesRespose;
List<Message> m = null;
ArrayList<String> ids = new ArrayList<String>();
ids.add("INBOX");
try {
messagesRespose = service.users().messages().list("me").setLabelIds(ids).setQ("From: something")
.execute();
m = messagesRespose.getMessages();
} catch (IOException e) {
e.printStackTrace();
}
Исключение возникает при использовании службы API Gmail. Кроме того, я попытался очистить токен и попросить новый с тем же результатом.