1

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

这周的大部分时间我都在试图完成这个任务,但没有成功。具体来说,我没有设法让我的应用程序完全授权访问 API。我找到了 3-5 个不同的教程或文档集来说明如何做到这一点:

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

所以我被卡住了,困惑,超级沮丧。任何帮助将不胜感激。

谢谢。——戴夫

4

2 回答 2

3

这些 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 可能会抛出不同的异常,例如当用户必须确认您的应用程序的访问权限时。在示例中,CommonAsyncTask与他们打交道。

于 2013-01-10T21:25:19.947 回答
0

检查我的其他答案使用 accountmanager 访问 youtube 帐户

它适用于 YouTube,但区别只是将正确的“链接”传递给代码。希望能帮助到你。

于 2013-01-10T19:36:15.457 回答