尝试运行任务时未配置访问-android-sample
Posted
技术标签:
【中文标题】尝试运行任务时未配置访问-android-sample【英文标题】:Access Not Configured when trying to run tasks-android-sample 【发布时间】:2014-02-11 20:46:10 【问题描述】:我正在尝试运行我在此处找到的 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)
有人能够成功运行示例代码吗?我该怎么做才能摆脱错误?
【问题讨论】:
你是如何解决这个问题的?因为我面临签名 apk 的相同问题。在未签名的 apk 中它工作正常。 【参考方案1】:我昨天遇到了同样的问题,尝试了几个小时不同的东西,但没有任何效果,直到我在 API 控制台上执行此操作(显然其中一个或这些东西的组合使它起作用):
1- 在 APIs 选项卡上(在 Apis & auth 内)我禁用了所有 API,除了 Tasks API。 p>
2- 在 Credentials 选项卡上(在 Apis & auth 内)我删除了 Client ID 和 API 密钥 我之前创建的,然后我创建了一个新的 OAuth Client ID(我没有创建新的 API 密钥,因为 Tasks API 显然不需要使用 OAuth)。
所以在做完这些事情之后,我的应用开始“神奇”地工作(这是另一种说法,我不知道为什么:P)。
顺便说一句,该应用在从 Android Studio(或在您的情况下为 Eclipse)运行时无法运行,但当我编译签名的 apk 并将其安装在手机上时它会运行(这是因为新的 Tasks API 检测的方式是否您的应用可以通过 SHA1 证书与其通信,该证书仅在您使用密钥库签名时添加到应用中。
无论如何,我希望这对您和其他有同样问题的人有所帮助。
干杯。
【讨论】:
【参考方案2】:我面临着完全相同的问题。我已经使用 Iceweasel 和 debian 拉伸(测试)控制了谷歌开发者控制台。然后我用 firefox 切换到 Win 10 并创建了一个新项目。它突然起作用了。我认为 Google Developer Console 无法与 Iceweasel 一起正常工作。
【讨论】:
以上是关于尝试运行任务时未配置访问-android-sample的主要内容,如果未能解决你的问题,请参考以下文章
为啥在尝试读取记录集字段时未定义访问 vba 抛出子或函数?
角度应用程序正在获得访问权限,但从另一个系统调用时未访问 webapi,但在服务器内尝试工作。为啥?
尝试访问我的 api 平台时未找到 JWT 令牌 401 错误?