<

Google API

のGoogle API パッケージ数十の Google を公開します Dart プロジェクトから使用できるサービス。

このページでは、次を使用してエンドユーザー データと対話する API の使用方法について説明します。 Google認証。

ユーザーデータ API の例には次のものがあります。カレンダー、Gメール、 とYouTube。

概要

Google API を使用するには、次の手順に従います。

  1. 目的の API を選択します
  2. APIを有効にする
  3. 必要なスコープでユーザーを認証する
  4. 認証されたHTTPクライアントを取得する
  5. 目的の API クラスを作成して使用する

1. 目的の API を選択します

のドキュメントパッケージ:googleapisリスト 各 API を個別の Dart ライブラリとして、name_versionフォーマット。を見ようよyoutube_v3例として。

各ライブラリは多くのタイプを提供しますが、存在するのは 1 つだけですで終わるクラスApi。 YouTube の場合は、YouTubeApi

だけでなく、Apiインスタンス化する必要があるものをクラス化します – ステップ 3 を参照 – しかし また、API を使用するために必要な権限を表すスコープも公開します。 下を見てください定数セクションのYouTubeApiクラスを開くと、利用可能なスコープが表示されます。アクセスをリクエストするには エンドユーザーの YouTube データを単に読み取る (書き込みはしない) には、youtubeReadonlyScopeユーザーを認証するとき。

/// Provides the `YouTubeApi` class.
import 'package:googleapis/youtube/v3.dart';

2. APIを有効にする

Google API を使用するには、Google アカウントと Google プロジェクトが必要です。あなたも 必要な API を有効にする必要があります。

この例では、次のように有効にしますYouTube データ API v3。

詳細については、開始手順。

3. 必要なスコープでユーザーを認証します。

使用google_sign_inにパッケージ化する ユーザーを Google ID で認証します。サインインを構成する必要があります サポートしたいプラットフォームごとに。

/// Provides the `GoogleSignIn` class
import 'package:google_sign_in/google_sign_in.dart';

インスタンス化すると、GoogleSignInクラスでは、前のセクションで説明したように、必要なスコープを指定します。

final _googleSignIn = GoogleSignIn(
  scopes: <String>[YouTubeApi.youtubeReadonlyScope],
);

提供される指示に従ってくださいパッケージ:google_sign_inユーザーに許可するために 認証する。

認証されたら、認証された HTTP クライアントを取得する必要があります。

4. 認証された HTTP クライアントを取得します。

のextension_google_sign_in_as_googleapis_authパッケージが提供するのは、拡張メソッドの上GoogleSignIn:authenticatedClient

import 'package:extension_google_sign_in_as_googleapis_auth/extension_google_sign_in_as_googleapis_auth.dart';

聞くことができますonCurrentUserChanged。 イベント値がそうでない場合null、認証されたクライアントを作成できます。

var httpClient = (await _googleSignIn.authenticatedClient())!;

これClient実例 Google API クラスを呼び出すときに必要な認証情報が含まれています。

5. 目的の API クラスを作成して使用します

API を使用して、必要な API タイプを作成し、メソッドを呼び出します。次に例を示します。

var youTubeApi = YouTubeApi(httpClient);

var favorites = await youTubeApi.playlistItems.list(
  ['snippet'],
  playlistId: 'LL', // Liked List
);

詳しくは

  • extension_google_sign_in_as_googleapis_auth例は、このページで説明されている概念を実際に実装したものです。