0

我正在尝试运行我在这里找到的 task-android-sample 代码:http: //samples.google-api-java-client.googlecode.com/hg/tasks-android-sample/instructions.html

我成功地将它导入 Eclipse 并使用 Google Eclipse 插件添加了所有必要的依赖项: https ://developers.google.com/eclipse/docs/googleapis

我将项目包的包名更改为自定义值,这是指令所建议的。

我在我的 Google Developer Console 中创建了一个新项目,确保 Tasks API 处于打开状态,并在凭据选项卡中添加了一个新密钥。在密钥中,我插入了我的 SHA1 证书指纹(我从 Eclipse:Window/Preferences/Android/Build 获取)和我新更改的包名称。

当我从 Eclipse 运行示例应用程序时,我看到两个对话框要求我授予它访问任务的权限,然后是以下消息:

[错误] 未配置访问。请使用 Google Developers Console 为您的项目激活 API。

我的 LogCat 显示以下内容:

02-11 20:33:32.593: E/TasksSample(9231): Error
02-11 20:33:32.593: E/TasksSample(9231): com.google.api.client.googleapis.json.GoogleJsonResponseException: 403 Forbidden
02-11 20:33:32.593: E/TasksSample(9231): {
02-11 20:33:32.593: E/TasksSample(9231):   "code": 403,
02-11 20:33:32.593: E/TasksSample(9231):   "errors": [
02-11 20:33:32.593: E/TasksSample(9231):     {
02-11 20:33:32.593: E/TasksSample(9231):       "domain": "usageLimits",
02-11 20:33:32.593: E/TasksSample(9231):       "message": "Access Not Configured. Please use Google Developers Console to activate the API for your project.",
02-11 20:33:32.593: E/TasksSample(9231):       "reason": "accessNotConfigured"
02-11 20:33:32.593: E/TasksSample(9231):     }
02-11 20:33:32.593: E/TasksSample(9231):   ],
02-11 20:33:32.593: E/TasksSample(9231):   "message": "Access Not Configured. Please use Google Developers Console to activate the API for your project."
02-11 20:33:32.593: E/TasksSample(9231): }
02-11 20:33:32.593: E/TasksSample(9231):    at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:113)
02-11 20:33:32.593: E/TasksSample(9231):    at com.google.api.client.googleapis.services.json.AbstractGoogleJsonClientRequest.newExceptionOnError(AbstractGoogleJsonClientRequest.java:40)
02-11 20:33:32.593: E/TasksSample(9231):    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest$1.interceptResponse(AbstractGoogleClientRequest.java:312)
02-11 20:33:32.593: E/TasksSample(9231):    at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:1045)
02-11 20:33:32.593: E/TasksSample(9231):    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:410)
02-11 20:33:32.593: E/TasksSample(9231):    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.executeUnparsed(AbstractGoogleClientRequest.java:343)
02-11 20:33:32.593: E/TasksSample(9231):    at com.google.api.client.googleapis.services.AbstractGoogleClientRequest.execute(AbstractGoogleClientRequest.java:460)
02-11 20:33:32.593: E/TasksSample(9231):    at pl.bartoszwesolowski.taskssample.AsyncLoadTasks.doInBackground(AsyncLoadTasks.java:38)
02-11 20:33:32.593: E/TasksSample(9231):    at pl.bartoszwesolowski.taskssample.CommonAsyncTask.doInBackground(CommonAsyncTask.java:53)
02-11 20:33:32.593: E/TasksSample(9231):    at pl.bartoszwesolowski.taskssample.CommonAsyncTask.doInBackground(CommonAsyncTask.java:1)
02-11 20:33:32.593: E/TasksSample(9231):    at android.os.AsyncTask$2.call(AsyncTask.java:288)
02-11 20:33:32.593: E/TasksSample(9231):    at java.util.concurrent.FutureTask.run(FutureTask.java:237)
02-11 20:33:32.593: E/TasksSample(9231):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
02-11 20:33:32.593: E/TasksSample(9231):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
02-11 20:33:32.593: E/TasksSample(9231):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
02-11 20:33:32.593: E/TasksSample(9231):    at java.lang.Thread.run(Thread.java:841)

有人能够成功运行示例代码吗?我该怎么做才能摆脱错误?

4

2 回答 2

0

我昨天遇到了同样的问题,尝试了几个小时不同的东西,直到我在 API 控制台上这样做(显然是其中一个或这些东西的组合使它起作用):

1- 在APIs选项卡上(在Apis & auth内),我禁用了除Tasks API 之外的所有 API

2- 在Credentials选项卡上(在Apis & auth内)我删除了之前创建的客户端 IDAPI 密钥,然后我创建了一个新的 OAuth客户端 ID(我没有创建新的API 密钥,因为显然不需要用于使用 OAuth 时的 Tasks API)。

所以在做了这些事情之后,我的应用程序开始“神奇地”工作(这是另一种说法,我不知道为什么:P)。

顺便说一句,该应用程序在从 Android Studio(或您的情况下为 Eclipse)运行它时不起作用,但是当我编译签名的 apk 并将其安装在手机上时它确实起作用(这是因为新的 Tasks API 检测您的应用程序是否可以的方式通过 SHA1 证书与它进行通信,该证书仅在您使用密钥库对其进行签名时添加到应用程序中)。

无论如何,我希望这可以帮助您和其他有同样问题的人。

干杯。

于 2014-03-31T06:14:18.510 回答
0

我面临着完全相同的问题。我已经使用 Iceweasel 和 debian 拉伸(测试)控制了谷歌开发者控制台。然后我用 firefox 切换到 Win 10 并创建了一个新项目。它突然起作用了。我认为 Google Developer Console 无法与 Iceweasel 一起正常工作。

于 2015-07-05T15:07:03.167 回答