Авторизоваться и получить доступ к API Google Tasks из приложения Android?

Я пытаюсь добавить поддержку задач Google в свое приложение - в частности, приложение должно иметь возможность добавлять новые задачи.

Я провел большую часть этой недели, пытаясь достичь этого без успеха. В частности, мне не удалось полностью разрешить моему приложению доступ к API. Я нашел 3-5 различных руководств или наборов документации о том, как это сделать:

Многие из вышеперечисленных противоречат друг другу или, по крайней мере, используют разные API, чье перекрытие не сразу для меня очевидно. Самое близкое, что я получил, - это пример кода, на который есть ссылка в первой ссылке выше (http://bit.ly/UHTKNW). Я могу заставить это скомпилировать и запустить, и даже запросить у пользователя разрешение на доступ к Задачам, как и ожидалось. Но затем происходит сбой с 403 Запрещенным исключением "доступ не настроен". Я предполагаю, что мне нужно предоставить ключ API и / или секрет клиента, но API, используемые в примере, не предоставляют очевидного способа сделать это. Мне также не ясно, нужно ли мне устанавливать отпечаток сертификата подписи, чтобы это работало, и если да, то как это сделать.

Так что я застрял, растерялся и очень расстроен. Любая помощь будет принята с благодарностью.

Благодарю. --Dave

2 ответа

Эти API сильно изменились, я могу понять ваше разочарование.

Ознакомьтесь с самым последним примером приложения. Он содержит инструкции по настройке доступа к API и началу работы.

По сути, вы просто регистрируете свое приложение в консоли API, и ваш код не должен иметь дело с какими-либо ключами API:

GoogleAccountCredential credential = GoogleAccountCredential.usingOAuth2(context, TasksScopes.TASKS);
credential.setSelectedAccountName(accountName);

mService = new com.google.api.services.tasks.Tasks.Builder(new NetHttpTransport(), new GsonFactory(), credential)
        .setApplicationName("YourApplicationName").build();

API-интерфейсы Task могут выдавать разные исключения, например, когда пользователь должен подтвердить доступ к вашему приложению. В образце CommonAsyncTask занимается с ними.

Проверить мой другой ответ Доступ к учетной записи YouTube с помощью accountmanager

это для YouTube, но разница заключается только в том, чтобы передать правильную "ссылку" на код. Надеюсь, поможет.

Другие вопросы по тегам