.NET 用 Google API クライアント ライブラリは、client_id
、client_secret
などの OAuth 2.0 パラメータを保存するために client_secrets.json
ファイルを使用します。
client_secrets.json
ファイルは、クライアント ID、クライアント シークレット、その他の OAuth 2.0 パラメータを含む JSON 形式のファイルです。以下に、ウェブ アプリケーションの client_secrets.json
ファイルの例を示します。
{ "web": { "client_id": "asdfjasdljfasdkjf", "client_secret": "1912308409123890", "redirect_uris": ["https://www.example.com/oauth2callback"], "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://accounts.google.com/o/oauth2/token" } }
以下に、インストール済みアプリケーションの client_secrets.json
ファイルの例を示します。
{ "installed": { "client_id": "837647042410-75ifg...usercontent.com", "client_secret":"asdlkfjaskd", "redirect_uris": ["http://localhost"], "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://accounts.google.com/o/oauth2/token" } }
次の 2 種類のクライアント ID のいずれかを定義します。
web
: ウェブ アプリケーション。installed
: インストール済みアプリケーション。
web
と installed
のサブオブジェクトには、次の必須のメンバーがあります。
-
client_id
(文字列): クライアント ID。 -
client_secret
(文字列): クライアント シークレット。
このファイルの他のすべてのメンバーはオプションであり、.NET クライアント ライブラリでは使用しません。
目的
従来、OAuth 2.0 エンドポイントのプロバイダでは、サービスを使用して登録ページからクライアント ID とクライアント シークレットをコピーして作業コードに貼り付けることを想定していました。
この方法はエラーが発生しやすく、OAuth 2.0 を動作させるために必要な情報の不完全なものです。(OAuth 2.0 では、すべてのエンドポイントを認識し、リダイレクト URI を構成する必要があります)。サービス プロバイダがダウンロード可能な client_secrets.json
ファイルを提供し、これらのファイルをクライアント ライブラリで使用できる場合は、OAuth 2.0 を実装する方が簡単でエラーも少なくなります。