ストーリー:ユーザーがサブスクリプションを購入できるAndroidアプリを作成しており、ユーザーがアカウントやログインを持っている必要はありません。ユーザーがサブスクリプションを購入したかどうかを確認したいのですが、Google Play AndroidDeveloperAPIがこのサービスを提供しているようです。
問題(TL; DR): OAuthを「Webアプリケーション」、「インストール済みアプリケーション」、「サービスアプリケーション」として使用する必要がありますか、それとも上記のいずれでも使用しないでください。
問題:これを始めるために、私は言われます:
Google Play Android Developer APIへのアクセスは、OAuth2.0Webサーバーフローを使用して認証されます。APIを使用する前に、APIコンソールプロジェクトを設定し、クライアントIDを作成して、更新トークンを生成する必要があります。-ソース
けっこうだ。次に、次のようなセットアップ手順があります。
2ページ目で、Webアプリケーションを選択し、リダイレクトURIとJavascriptオリジンを設定します。
私のアプリケーションはインターネットにアクセスしますが、インストールされているAndroidアプリであり、Webアプリケーションではないため、リンクする「リダイレクトURI」または「Javascriptオリジン」がありません。さらに、これにはユーザーがログインする必要がありますが、これは私が望まないので、私の場合は必要ありません(ユーザーがサブスクリプションを購入したかどうかを確認したいだけです)。
したがって、「Webアプリケーション」の代わりに「インストール済みアプリケーション(Android)」を作成しようとすると、ユーザーのリソースを管理できるようにするために、ユーザーのログインが必要になります。
これいらない。ユーザーログインを必要としない「サービスアカウント」と呼ばれる3番目の選択肢があります。
サービスアカウントは、外部ユーザーのリソース(標準のOAuthフローなど)ではなく、「独自の」リソース(ComputeEngineリソースを管理するAppEngineアプリなど)を処理するサービスがある場合に使用されます。 。サービスアカウントを使用すると、アプリがリソースの所有者になります...サービスアカウントを使用すると、サービスの購入に関するデータのみを取得できます。-ソース
それが私の場合に欲しいものかどうかはわかりません...
最後に、このオプションもあります。
最も単純なフローは、エンドユーザーの承認が不要なフローです。APIキーを使用してクライアントアプリケーションを識別する必要があります。-ソース
これは完璧なようです!ただし、最初にGoogle Play Android Developer APIを使用するには、OAuth 2.0で認証する必要があると言われました。これは、特に必要だと最初に言われたクライアントIDを使用しません。