開始使用

本文件提供開始使用程式庫所需的所有基本資訊。其中會說明程式庫概念、顯示各種用途的範例,並提供更多資訊的連結。

設定

您必須先完成幾個步驟,才能使用這個程式庫:

  1. 如果您還沒有 Google 帳戶,請註冊
  2. 如果您從未建立過 Google API 控制台專案,請參閱「管理專案」頁面,並在 Google API 控制台中建立專案。
  3. 安裝要使用的 NuGet 套件。

驗證及授權

請務必瞭解 API 驗證和授權的處理方式。所有 API 呼叫都必須使用簡單或授權的存取權 (定義如下)。許多 API 方法都需要授權存取權,但有些方法可以使用。視您使用的簡易存取權或授權存取而定,部分 API 方法的行為會有所不同。請參閱 API 的方法說明文件,以判斷適當的存取權類型。

1. 簡易 API 存取權 (API 金鑰)

這些 API 呼叫不會存取任何使用者私人資料。您的應用程式必須進行驗證,做為您的 Google API 控制台專案所屬應用程式。 如此才能評估專案用量,以便計算會計作業。

API 金鑰:如要驗證應用程式,請使用 API 控制台專案適用的 API 金鑰。應用程式發出的每次簡易存取呼叫都必須包含這個金鑰。

2. 已授權的 API 存取權 (OAuth 2.0)

這些 API 呼叫會存取使用者私人資料。擁有私人資料的使用者必須授予您的應用程式存取權,您才可以呼叫這些物件。因此,您的應用程式必須通過驗證、使用者必須授予應用程式存取權,且使用者必須通過驗證,才能授予該存取權。以上這些操作都是透過 OAuth 2.0 以及為其編寫的程式庫完成。

範圍:每個 API 都會定義一或多個範圍,宣告一組允許的作業。舉例來說,API 可能有唯讀和讀寫範圍。當應用程式要求存取使用者資料時,要求必須包含一或多個範圍。使用者必須核准應用程式要求的存取權範圍。

重新整理和存取權杖:當使用者授予應用程式存取權時,OAuth 2.0 授權伺服器會為您的應用程式提供重新整理和存取權杖。這些權杖只適用於要求的範圍。您的應用程式會使用存取權杖來授權 API 呼叫。存取權杖會過期,但重新整理權杖則不會。應用程式可以使用更新權杖來取得新的存取權杖。

用戶端 ID 和用戶端密鑰:這些字串專門用來識別您的應用程式,並用來取得權杖。您可以在 API 控制台中為專案建立這個名稱。用戶端 ID 有三種類型,因此請務必取得應用程式正確的類型:

範例

本節將舉例說明未授權的簡易 API 用法。如要進一步瞭解授權呼叫,請參閱 .NET 適用的 OAuth 2.0 頁面

簡易 API 範例

本範例針對指令列應用程式使用簡易的 API 存取權。它會呼叫 Google Discovery API 來列出所有 Google API。

範例設定

取得 Simple API 金鑰。如要找出應用程式的 API 金鑰,請按照下列步驟操作:

  1. 在 API 控制台中開啟「憑證」頁面
  2. 這個 API 支援兩種憑證。建立適合您專案的憑證:
    • OAuth 2.0:每當您的應用程式要求私人使用者資料時,都必須與要求一併傳送 OAuth 2.0 權杖。應用程式會先傳送用戶端 ID,並可能傳送用戶端密鑰來取得權杖。您可以為網路應用程式、服務帳戶或已安裝的應用程式產生 OAuth 2.0 憑證。

      詳情請參閱 OAuth 2.0 說明文件

    • API 金鑰:沒有提供 OAuth 2.0 權杖的要求必須傳送 API 金鑰。金鑰可用來識別專案,並提供 API 存取權、配額和報表。

      API 支援數種類型的 API 金鑰限制。如果您還沒有所需的 API 金鑰,請依序點按「Create credentials」(建立憑證) >「API key」(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 金鑰的提示:

  • 如要使用特定服務,您必須新增該服務的參照。舉例來說,如果您想使用 Tasks API,則應安裝其 NuGet 套件 Google.Apis.Tasks.v1
  • 如要建立服務的執行個體,只要呼叫其建構函式即可。例如:new TasksService(new BaseClientService.Initializer {...});"
  • 服務的所有方法都位於服務物件本身的個別資源上。探索服務具有 Apis 資源,包含 List 方法。呼叫 service.Apis.List(..) 時,系統會傳回指定這個方法的要求物件。
    如要執行要求,請對要求呼叫 Execute()ExecuteAsyc() 方法。
  • BaseClientService.Initializer 執行個體上使用 ApiKey 屬性設定 API 金鑰。

尋找 API 相關資訊

支援的 API」頁面會列出可透過這個程式庫存取的所有 API,以及說明文件連結。

您也可以使用 APIs Explorer 瀏覽 API、列出可用方法,甚至試用瀏覽器中的 API 呼叫。