如何限制服务使用的API密钥?

问题描述 投票:0回答:1

如何限制服务使用的API密钥?应用程序包名称是定义的应用程序清单(例如“ com.myapp”)和服务(例如)

<service android:enabled="true"
    android:name="com.myapp.myservice"
        android:process=":myservice" >
</service>

并且在服务清单包中是“ com.myapp.myservice”。

如果我在API控制台中使用Google Cloud Platform指令限制Android的PLACES API -api-key允许使用android应用,并设置keyAlias'androiddebugkey'规定开发时间和密钥别名,我将这些签名用于允许包名称的包中作为应用程序包的“ com.myapp”,并且还尝试添加允许的包“ com.myapp.myservice”,我仍然会在运行时收到错误消息,该API密钥未授权“ java.util.concurrent.ExecutionException :com.google.android.gms.common.api.ApiException:13:该IP,站点或移动应用程序无权使用此API密钥。收到来自IP地址的请求...“

没有限制,我无法启用计费,因为任何人都可以使用我的密钥。如何授权主应用使用API​​密钥的服务?

如何限制服务使用的API密钥?应用程序包名称是已定义的应用程序清单(如“ com.myapp”)和服务(如

android service
1个回答
0
投票

似乎这完全不是问题,无论是从Activity类还是从服务类使用Android SDK的Places API。在两种环境中,问题都是相同的。如果我不受限制地使用API​​密钥,那么它将起作用。但是,如果我通过API或应用程序包名称和签名证书设置了任何种类的限制,则我们的Google服务将提供此“ java.util.concurrent.ExecutionException:com.google.android.gms.common.api.ApiException:13: IP,站点或移动应用程序无权使用此API密钥。收到来自IP地址的请求...”错误。我使用了适用于Android SDK的Places API兼容性库,并且未测试过纯API版本2。但是似乎适用于Android SDK的Places API发生了问题。

© www.soinside.com 2019 - 2024. All rights reserved.