我正在尝试向我的应用添加对Google Tasks的支持 - 具体来说,该应用应该能够添加新任务。
我本周大部分时间都在努力实现这一目标而没有成功。具体来说,我没有设法让我的应用程序完全授权访问API。我已经找到3-5种不同的教程或文档集来说明如何做到:
上述许多内容似乎相互矛盾,或者至少使用不同的API,其重叠对我来说并不是很明显。我最接近的是通过上面第一个链接中引用的示例代码(http://bit.ly/UHTKNW)。我可以编译和运行,甚至可以请求用户访问任务的权限,如预期的那样。但它失败了403 Forbidden“access not configured”异常。我假设我需要提供API密钥和/或客户端密钥,但示例中使用的API似乎并没有提供明显的方法。我还不清楚我是否需要设置签名证书指纹才能使其正常工作,如果是这样的话,该如何去做。
所以我陷入困境,困惑和极度沮丧。任何帮助将不胜感激。
感谢。 --Dave
答案 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,但区别仅在于将正确的“链接”传递给代码。希望它有所帮助。