直接从 Android 台设备使用 Google Play Developer API

Using Google Play Developer API from Android devices directly

所以,我一直在尝试通过 HTTP 请求直接在我们的应用程序中使用 Google Play Developer API,并且我们有一个可以与 API.具体来说,我将用它来跟踪订阅(到期时间、购买状态等)

我已经有 access_token、refresh_token、client_id 和 client_secret,它们在应用程序中以二进制形式加密。可以直接从 API 获得响应,我可以说它有效,而且我相当确定存储信息的方法足够安全。

考虑到这一点,我想知道直接在设备上使用开发人员 API 是否是个好主意,因为我没有强大的后端服务器来保护两者之间的连接。发送接收的信息是否被认为是敏感的并且应该被完全保护?或者使用 HTTPS(根据开发人员 API 的要求)就足够了吗?

我还想知道 Google 是否允许开发人员 API 在多个设备(我说的是超过 10 万台设备)而不是从安全的后端服务器上使用,或者如果完全禁止并且违反他们的政策从多个设备使用它,并且 API 必须直接从后端服务器使用。

有人直接在设备中使用开发人员 API HTTP 调用吗?如果你这样做,你能告诉我你是否遇到过有关安全或政策的问题吗?或者,你知道它已经被禁止使用了吗?

感谢任何帮助,谢谢。

旁注:我知道在这种情况下使用安全的后端服务器是更好的选择,但我问这个是因为我不能使用它。请在回答和评论此问题之前记住这一点,谢谢。

简短的回答是肯定的——你可以直接从设备上使用它,没有什么能阻止它甚至在 playstore 上发布——我已经为推送通知做了它并且它有效。

我知道每个 client_id 有一些 API 的限制,每个项目可能有 client_ids 的限制(here 有点多详情)

关于 access_token、refresh_token,- 不要将它们存储在二进制文件中 - 这些值是易变的,因此可能并且将会随着时间的推移而变化 - 在运行时获取它们之后应用和商店。

您也可以使用 Firebase 远程配置来存储敏感值(或者甚至使用 Firebase 云函数来处理 API 访问 - 这会更加安全)。

access_token、refresh_token、client_id 和 client_secret - 所有这些值通常都不会被视为非常私密或敏感。有一件事可能很糟糕——如果有人可以访问它——他们可能会用它来访问存储在你 google 云平台某处的客户数据,或者超过你 API 的限制并让你付出代价为此。

因此,它的安全性取决于您要存储和交换的用户信息,以及您要使用的 API。除了你之外,没有人会告诉你是否应该或不应该这样做 - 因为没有人会分担可能的结果和责任,但从技术角度来看,这样的事情没有重大障碍。