このドキュメントでは、ライブラリの使用を開始するために必要なすべての基本情報を提供します。 ライブラリのコンセプト、 さまざまなユースケースの例で 詳細情報へのリンクも表示されます
セットアップ
このライブラリを使用するには、いくつかの設定手順を完了する必要があります。
- Google アカウントをまだお持ちでない場合は、 こちらからお申し込みください。
- Google API Console プロジェクトを作成したことがない場合は、 プロジェクトの管理ページ Google Cloud コンソールで Google API Console:
- 使用する NuGet パッケージをインストールします。
認証と認可
API の認証と認可の処理方法の基本を理解することが重要です。 すべての API 呼び出しは、シンプル アクセスまたは承認済みアクセス(下記で定義)を使用する必要があります。 多くの API メソッドは認可されたアクセスを必要としますが、一部のメソッドはいずれかを使用できます。 どちらかを使用できる一部の API メソッドは動作が異なり、 どちらを使用するかは、アクセスの種類(シンプル アクセスか承認済みアクセスか)によって異なります。 適切なアクセスタイプを判断するには、API のメソッドのドキュメントをご覧ください。
1. シンプルな API アクセス(API キー)
これらの API 呼び出しは、非公開のユーザーデータにはアクセスしません。 アプリケーションは、アプリケーションに属するアプリケーションとして、 Google API Console プロジェクトに追加します 会計上の目的でプロジェクトの使用状況を測定するために必要です。
API キー: アプリケーションを認証するには、 API キー API Console プロジェクトのプロジェクト ID です アプリケーションが実行するすべての単純なアクセス呼び出しには、このキーを含める必要があります。
<ph type="x-smartling-placeholder">2. 承認済みの API アクセス(OAuth 2.0)
これらの API 呼び出しは、非公開のユーザーデータにアクセスします。 電話をかける前に 限定公開データにアクセスできるユーザーは、アプリケーションにアクセスを付与する必要があります。 そのため、アプリケーションを認証する必要があります。 ユーザーがアプリケーションにアクセスを許可する必要があります。 そして、そのアクセス権を付与するにはユーザーが認証される必要があります。 これらすべてを Google Kubernetes Engine を使用して OAuth 2.0 と、そのためのライブラリ。
範囲: 各 API は、許可される一連のオペレーションを宣言する 1 つ以上のスコープを定義します。 たとえば、API に読み取り専用と読み取り / 書き込みのスコープがあるとします。 アプリケーションがユーザーデータへのアクセスをリクエストすると、 リクエストには 1 つ以上のスコープを含める必要があります ユーザーは、アプリケーションがリクエストしているアクセス範囲を承認する必要があります。
更新トークンとアクセス トークン: ユーザーがアプリケーションにアクセス権を付与すると、OAuth 2.0 認可サーバーは、 更新トークンとアクセス トークンをアプリケーションに提供します。 これらのトークンは、リクエストされたスコープに対してのみ有効です。 アプリケーションは、アクセス トークンを使用して API 呼び出しを認可します。 アクセス トークンには有効期限がありますが、更新トークンには有効期限がありません。 アプリケーションは、更新トークンを使用して新しいアクセス トークンを取得できます。
<ph type="x-smartling-placeholder">Client ID and client secret: これらの文字列はアプリケーションを一意に識別し、トークンを取得するために使用されます。 API Console でプロジェクト用に作成されます。 クライアント ID には 3 つのタイプがあり、 アプリケーションに適したタイプを取得してください。
- ウェブ アプリケーションのクライアント ID
- インストール済みアプリケーションのクライアント ID
- サービス アカウントのクライアント ID
例
このセクションでは、承認なしで簡単に API を使用する例を示します。 認可呼び出しの詳細については、このモジュールの .NET 用の OAuth 2.0 ページ。
シンプルな API の例
この例では、コマンドライン アプリケーションにシンプルな API アクセスを使用します。 この関数を Google Discovery API: すべての Google API を一覧表示します。
設定例
Simple API キーを取得します。アプリケーションの API キーを確認する手順は次のとおりです。
- API コンソールで [認証情報] ページを開きます。
-
この API では、2 種類の認証情報がサポートされています。
プロジェクトに適した認証情報を作成します。
<ph type="x-smartling-placeholder">
- </ph>
-
OAuth 2.0: アプリケーションからユーザーの限定公開データをリクエストする場合は、リクエストとともに OAuth 2.0 トークンを送信する必要があります。アプリケーションは、トークンを取得するためにまずクライアント ID を送信します。場合によってはクライアント シークレットも送信します。ウェブ アプリケーション、サービス アカウント、インストールしたアプリケーションについて OAuth 2.0 認証情報を生成できます。
詳細については、OAuth 2.0 ドキュメントをご覧ください。
-
API キー: OAuth 2.0 トークンを提供しないリクエストでは、API ] キーを押します。 キーによりプロジェクトが識別され、API アクセス、割り当て、レポートが提供されます。
API は、いくつかのタイプの API キーをサポートします。必要とする API キーのタイプが存在しない場合は、[認証情報作成] > [API キー] をクリックして、コンソールで API キーを作成します。本番環境でそれを使用する前にキーを制限するには、[キーを制限] をクリックして、いずれかの制限を選択します。
-
API キーの安全性を保つには、API キーを安全に使用するためのおすすめの方法に従ってください。
コード例
using System;
using System.Threading.Tasks;
using Google.Apis.Discovery.v1;
using Google.Apis.Discovery.v1.Data;
using Google.Apis.Services;
namespace Discovery.ListAPIs
{
/// <summary>
/// This example uses the discovery API to list all APIs in the discovery repository.
/// https://developers.google.com/discovery/v1/using.
/// <summary>
class Program
{
[STAThread]
static void Main(string[] args)
{
Console.WriteLine("Discovery API Sample");
Console.WriteLine("====================");
try
{
new Program().Run().Wait();
}
catch (AggregateException ex)
{
foreach (var e in ex.InnerExceptions)
{
Console.WriteLine("ERROR: " + e.Message);
}
}
Console.WriteLine("Press any key to continue...");
Console.ReadKey();
}
private async Task Run()
{
// Create the service.
var service = new DiscoveryService(new BaseClientService.Initializer
{
ApplicationName = "Discovery Sample",
ApiKey="[YOUR_API_KEY_HERE]",
});
// Run the request.
Console.WriteLine("Executing a list request...");
var result = await service.Apis.List().ExecuteAsync();
// Display the results.
if (result.Items != null)
{
foreach (DirectoryList.ItemsData api in result.Items)
{
Console.WriteLine(api.Id + " - " + api.Title);
}
}
}
}
}
API キーを使用するためのヒント:
- 特定のサービスを使用するには、そのサービスへの参照を追加する必要があります。 たとえば、Pod の Tasks API その NuGet パッケージをインストールし、 Google.Apis.Tasks.v1 を使用します。
- サービスのインスタンスを作成するには、そのコンストラクタを呼び出すだけです。例:
new TasksService(new BaseClientService.Initializer {...});"
。 - サービスのすべてのメソッドは、サービス オブジェクト自体の個々のリソースに配置されます。
ディスカバリ サービスには、
List
メソッドを含むApis
リソースがあります。service.Apis.List(..)
を呼び出すと、このメソッドをターゲットとするリクエスト オブジェクトが返されます。
リクエストを実行するには、リクエストでExecute()
メソッドまたはExecuteAsyc()
メソッドを呼び出します。 BaseClientService.Initializer
インスタンスのApiKey
プロパティを使用して API キーを設定します。
API に関する情報を見つける
「 サポートされている API ページには、このライブラリを使用してアクセスできるすべての API とドキュメントへのリンクが掲載されています。
また、 API Explorer API のブラウジング、使用可能なメソッドの一覧表示、ブラウザからの API 呼び出しの試行もできます。