クライアント シークレット

.NET 用 Google API クライアント ライブラリは、client_idclient_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: インストール済みアプリケーション。

webinstalled のサブオブジェクトには、次の必須のメンバーがあります。

  • client_id(文字列): クライアント ID。
  • client_secret(文字列): クライアント シークレット。

このファイルの他のすべてのメンバーはオプションであり、.NET クライアント ライブラリでは使用しません。

目的

従来、OAuth 2.0 エンドポイントのプロバイダでは、サービスを使用して登録ページからクライアント ID とクライアント シークレットをコピーして作業コードに貼り付けることを想定していました。 この方法はエラーが発生しやすく、OAuth 2.0 を動作させるために必要な情報の不完全なものです。(OAuth 2.0 では、すべてのエンドポイントを認識し、リダイレクト URI を構成する必要があります)。サービス プロバイダがダウンロード可能な client_secrets.json ファイルを提供し、これらのファイルをクライアント ライブラリで使用できる場合は、OAuth 2.0 を実装する方が簡単でエラーも少なくなります。