android - 使用 Google Places 提供的 API 密钥无效
问题描述
我正在尝试在 android 应用程序中实现 Google Places API,但出现以下异常。
W/System.err: java.util.concurrent.ExecutionException: com.google.android.gms.common.api.ApiException: 9011: The provided API key is invalid.
W/System.err: at com.google.android.gms.tasks.Tasks.zzb(Unknown Source:61)
W/System.err: at com.google.android.gms.tasks.Tasks.await(Unknown Source:33)
at com.example.smartorders.PlaceAutoCompleteAdapter.getPredictions(PlaceAutoCompleteAdapter.java:128)
at com.example.smartorders.PlaceAutoCompleteAdapter.access$100(PlaceAutoCompleteAdapter.java:42)
at com.example.smartorders.PlaceAutoCompleteAdapter$1.performFiltering(PlaceAutoCompleteAdapter.java:80)
at android.widget.Filter$RequestHandler.handleMessage(Filter.java:234)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.os.HandlerThread.run(HandlerThread.java:65)
Caused by: com.google.android.gms.common.api.ApiException: 9011: The provided API key is invalid.
W/System.err: at com.google.android.libraries.places.internal.zzbo.zza(com.google.android.libraries.places:places@@2.2.0:5)
at com.google.android.libraries.places.internal.zzby.then(com.google.android.libraries.places:places@@2.2.0:2)
at com.google.android.gms.tasks.zzd.run(Unknown Source:5)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
我已仔细检查我的帐户中是否启用了计费。我创建了 SHA1 代码并限制了 android 应用程序并添加了 API Places。我创建了第二个密钥并完成了上述所有操作,但仍然没有运气。我遵循了这个例子: How to implement google places autocomplete programmatically
有关如何解决此问题的任何想法?
解决方案
play-services-places:17.0.0 places
不推荐使用依赖项
implementation 'com.google.android.gms:play-services-places:17.0.0'
更改为
`implementation 'com.google.android.libraries.places:places:2.2.0'`
请这个这个有一个完整的自动完成示例
单击创建凭据-> API 密钥。您将获得一个 API 密钥。现在启用 google places API 并将您的 API 密钥放入您的项目中。你会得到结果
推荐阅读
- reactjs - React WebStorm DevTools 就像在 Codesandbox 中一样?
- javascript - 保存游戏(使用localStorage)并在重新加载页面后继续游戏的能力
- azure - Azure 函数命名标准
- reactjs - 在初始渲染上使用 useState 跳过 React Query 的 useQuery 钩子
- sql - 如何在 IN 运算符 () 中使用返回 nvarchar 的函数
- angular - 使用共享组件时的 ExpressionChangedAfterItHasBeenCheckedError
- postgresql - PostgreSQL - 声明变量的正确方法
- python - 为什么我的条件在 for 循环中不起作用?
- multithreading - Spring Batch 事务管理 - 多线程步骤
- input - 我可以使用来自不和谐消息的输入来更改命令吗?