Google API
Google APIs 套件公開了數十種 Google 服務,您可以在 Dart 專案中使用它們。
本頁說明如何使用透過 Google 驗證與終端使用者資料互動的 API。
使用者資料 API 的範例包括 行事曆、Gmail、YouTube 和 Firebase。
若要明確將驗證新增至 Firebase,請查看使用 FirebaseUI 將使用者驗證流程新增至 Flutter 應用程式程式碼實驗室和開始使用 Flutter 上的 Firebase 驗證文件。
概觀
#若要使用 Google API,請依照下列步驟操作
- 選擇所需的 API
- 啟用 API
- 使用所需範圍驗證使用者身分
- 取得已驗證的 HTTP 用戶端
- 建立並使用所需的 API 類別
1. 選擇所需的 API
#package:googleapis 的文件會將每個 API 列為個別的 Dart 程式庫 &emdash; 以 name_version
格式。 查看 youtube_v3
作為範例。
每個程式庫可能會提供許多類型,但有一個以 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 Data API v3。 如需詳細資訊,請參閱入門指示。
3. 使用所需範圍驗證使用者身分
#使用 google_sign_in 套件,使用使用者的 Google 身分驗證使用者。 為您要支援的每個平台設定登入。
/// Provides the `GoogleSignIn` class
import 'package:google_sign_in/google_sign_in.dart';
在實例化 GoogleSignIn
類別時,請提供上一節討論的所需範圍。
final _googleSignIn = GoogleSignIn(
scopes: <String>[YouTubeApi.youtubeReadonlyScope],
);
請依照 package: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
範例是本頁所述概念的可行實作。
除非另有說明,否則本網站上的文件反映 Flutter 的最新穩定版本。 頁面最後更新於 2024-04-08。 檢視原始碼 或 回報問題。