【问题标题】:The provided API key is invalid using Google Places使用 Google Places 提供的 API 密钥无效
【发布时间】:2020-04-17 12:14:50
【问题描述】:

我正在尝试在 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

关于如何解决此问题的任何想法?

【问题讨论】:

    标签: android google-places-api google-search api-key google-places


    【解决方案1】:

    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'`
    

    请这个this 有一个完整的自动完成示例

    点击创建凭证 -> API Key。您将获得一个 API 密钥。现在启用 google places API 并将您的 API 密钥放入您的项目中。你会得到结果

    【讨论】:

    • 我确实有这个依赖 com.google.android.libraries.places:places:2.2.0
    • 我已经按照 Place AutoComplete 的链接做了什么。我的应用程序显示此错误:Status{statusCode=The provided API key is invalid., resolution=null} 它在这里 @Override public void onError(Status status) { // TODO: 处理错误。 Log.i(TAG, "发生错误:" + status);并抛出此错误 api 密钥可能有什么问题?当我搜索一个地方时,处于覆盖模式的自动完成小部件消失并且没有显示任何地方..
    • 删除前一个键并添加新键
    • 我创建了一个新密钥,现在它可以工作了!!我认为该错误是由我的 strings.xml 中键末尾的 > 引起的。多么愚蠢的错误!我花了一天多的时间来完成这项工作......
    • 好的,现在终于解决了,请您点赞并接受我的回答!!!
    猜你喜欢
    • 1970-01-01
    • 2014-05-19
    • 2023-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    相关资源
    最近更新 更多