Google API
のGoogle API パッケージ数十の Google を公開します Dart プロジェクトから使用できるサービス。
このページでは、次を使用してエンドユーザー データと対話する API の使用方法について説明します。 Google認証。
ユーザーデータ API の例には次のものがあります。カレンダー、Gメール、 とYouTube。
概要
Google API を使用するには、次の手順に従います。
- 目的の API を選択します
- APIを有効にする
- 必要なスコープでユーザーを認証する
- 認証されたHTTPクライアントを取得する
- 目的の 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
例は、このページで説明されている概念を実際に実装したものです。