从Android应用授权和访问Google Tasks API?

时间:2013-01-10 19:29:07

标签: android oauth google-tasks-api

我正在尝试向我的应用添加对Google Tasks的支持 - 具体来说,该应用应该能够添加新任务。

我本周大部分时间都在努力实现这一目标而没有成功。具体来说,我没有设法让我的应用程序完全授权访问API。我已经找到3-5种不同的教程或文档集来说明如何做到:

上述许多内容似乎相互矛盾,或者至少使用不同的API,其重叠对我来说并不是很明显。我最接近的是通过上面第一个链接中引用的示例代码(http://bit.ly/UHTKNW)。我可以编译和运行,甚至可以请求用户访问任务的权限,如预期的那样。但它失败了403 Forbidden“access not configured”异常。我假设我需要提供API密钥和/或客户端密钥,但示例中使用的API似乎并没有提供明显的方法。我还不清楚我是否需​​要设置签名证书指纹才能使其正常工作,如果是这样的话,该如何去做。

所以我陷入困境,困惑和极度沮丧。任何帮助将不胜感激。

感谢。 --Dave

2 个答案:

答案 0 :(得分:3)

这些API发生了很大的变化,我可以理解你的挫败感。

查看most recent sample application。它包含有关设置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();

Task API可能会抛出不同的异常,例如当用户必须确认您的应用的访问权限时。在示例中,CommonAsyncTask处理它们。

答案 1 :(得分:0)

检查我的其他答案Access youtube account with accountmanager

适用于YouTube,但区别仅在于将正确的“链接”传递给代码。希望它有所帮助。