“服务帐户”和“已安装的应用程序”有啥区别?

Posted

技术标签:

【中文标题】“服务帐户”和“已安装的应用程序”有啥区别?【英文标题】:What is the difference between a "service account" and an "installed application"?“服务帐户”和“已安装的应用程序”有什么区别? 【发布时间】:2012-09-03 19:11:50 【问题描述】:

据我了解,主要区别在于服务帐户不需要用户登录以进行授权,而安装的应用程序则需要。

我正在制作一个 android 应用(“已安装的应用”?),它提供应用内订阅,并且不需要用户登录帐户(“服务帐户”?)。我要做的就是检查用户是否购买了订阅。要获取 Google Play Developer API 的客户端 ID,我必须将其声明为已安装的应用程序或服务帐户,但不确定该使用哪个。

【问题讨论】:

【参考方案1】:

当您的服务想要处理其“自己的”资源(例如,管理 Compute Engine 资源的 App Engine 应用)而不是外部用户的资源(例如,标准OAuth 流程)。使用服务帐户,应用程序将成为资源的所有者,无需用户参与——它们不是用户的资源,为什么会这样呢?

已安装的应用程序非常简单——它是用户安装的用于管理用户资源的应用程序。如果您的应用正在管理用户的资源,您需要征求他们的许可。没有办法。

【讨论】:

有道理!我试图用它来检查用户是否购买了订阅。所以我应该使用服务帐户,对吗? 如果您使用服务帐户,您将只能获得有关服务购买的数据。我不是此 API 方面的专家,也许其他人会插话。您可能有运气使用 Google Play 服务提示用户访问此数据? 实际上阅读文档听起来可能需要 your 访问令牌(开发人员)。不提示用户许可。 我也觉得是这样,不过还是不太清楚……我想应该是服务号吧,那么

以上是关于“服务帐户”和“已安装的应用程序”有啥区别?的主要内容,如果未能解决你的问题,请参考以下文章

unity中协程一直运行会有啥影响

Shockwave、Flash 和 Flex 之间有啥区别?

Visual Studio 和 Visual Studio Express 有啥区别?

C语言、VB语言都属于高级语言,它们在编程方法上有啥明显的区别?

hibernate.jdbc.fetch_size 和 hibernate.jdbc.batch_size 有啥区别?

为了为服务帐户创建密钥,这个定义有啥问题?