Q:

What is the difference between a "service account" and an "installed application"?

To my understanding, the main difference is that a service account doesn't require a user to log in for authorization, while an installed application does.
I am making an Android app (an "installed application"?) that offers an in-app subscription, and doesn't require the user to log in to an account (a "service account"?). All that I want to do is to check whether or not the user has purchased a subscription. To get a Client ID for the Google Play Developer API, I have to declare it as either an installed application or a service account, and am unsure which to go with.

A:

A Service Account is used when you have a service that wants to handle its "own" resources (e.g., an App Engine app that manages Compute Engine resources), as opposed to the resources of an external user (e.g., the standard OAuth flow). Using a Service Account the app will be the owner of the resources, and no user will have to be involved -- they're not the user's resources, so why would they be?
An Installed Application is pretty straightforward -- it's an app installed by the user to manage the user's resources. If your app is managing a user's resources, you will need to ask their permission. There's no way around that.

