如何使谷歌端点无法访问网络?

时间:2013-09-04 14:12:47

标签: android google-app-engine authentication google-cloud-endpoints

我有一个Android应用,可通过Google终端访问一组API。问题是可以通过https://your-app-id.appspot.com/_ah/api/explorer从网络访问相同的API,我不希望这种情况发生。也就是说,我希望数据存储只能从移动设备访问(和修改)。有一个简单的方法吗?我看了一下enpoint authentification,并没有完全明白(我还是新手所有这些......),所以我想知道这个(显然)简单的问题是否有一个更简单的答案。

2 个答案:

答案 0 :(得分:0)

目前无法改变您的终端在网络上公开显示的事实。等等。

但是,您可以实施身份验证,以确保它们仅供您的客户端使用(无论是移动设备还是网络设备)。您可以在客户端设备上对Google帐户进行身份验证,也可以只对您的应用进行身份验证。

此处的文档如下: https://developers.google.com/appengine/docs/java/endpoints/consume_android

这里也有一些:
https://developers.google.com/eclipse/docs/endpoints-addauth

不幸的是,两者都不是很好,他们更关注用户(与应用)身份验证。因此,如果您遇到问题,我建议您使用“[google-app-endpoints]身份验证”进行搜索。

答案 1 :(得分:0)

为了将API的访问权限仅限于您编写的应用,您需要实现经过身份验证的API调用。

自述文件中https://github.com/GoogleCloudPlatform/appengine-endpoints-helloendpoints-android的第二套说明详细说明了如何使用Google Play服务注册您的应用,以便对您的应用和用户进行身份验证。

https://github.com/GoogleCloudPlatform/appengine-endpoints-helloendpoints-java-maven/blob/master/src/main/java/com/google/devrel/samples/helloendpoints/Greetings.java#L50显示经过身份验证的Cloud Endpoints方法实现。如果在未经过身份验证的方法上发生调用,则User对象将为null。