Начать, начать

В этом документе содержится вся основная информация, необходимая для начала использования библиотеки. Он охватывает концепции библиотеки, показывает примеры для различных вариантов использования и дает ссылки на дополнительную информацию.

Настраивать

Перед использованием этой библиотеки необходимо выполнить несколько шагов настройки:

  1. Если у вас еще нет учетной записи Google, зарегистрируйтесь .
  2. Если вы никогда не создавали проект консоли API Google, прочтите страницу Управление проектами и создайте проект в консоли API Google .
  3. Установите пакет NuGet, с которым вы хотите работать.

Аутентификация и авторизация

Важно понимать основы того, как обрабатываются аутентификация и авторизация API. Все вызовы API должны использовать либо простой, либо авторизованный доступ (определено ниже). Многие методы API требуют авторизованного доступа, но некоторые могут использовать и то, и другое. Некоторые методы API, которые можно использовать, ведут себя по-разному в зависимости от того, используете ли вы простой или авторизованный доступ. См. документацию по методу API, чтобы определить подходящий тип доступа.

1. Простой доступ к API (ключи API)

Эти вызовы API не имеют доступа к каким-либо личным данным пользователя. Ваше приложение должно аутентифицировать себя как приложение, принадлежащее вашему проекту Google API Console. Это необходимо для измерения использования проекта в целях бухгалтерского учета.

Ключ API . Чтобы аутентифицировать ваше приложение, используйте ключ API для своего проекта консоли API. Каждый простой вызов доступа, который делает ваше приложение, должен включать этот ключ.

2. Авторизованный доступ к API (OAuth 2.0)

Эти вызовы API получают доступ к личным данным пользователя. Прежде чем вы сможете вызывать их, пользователь, имеющий доступ к личным данным, должен предоставить доступ вашему приложению. Следовательно, ваше приложение должно быть аутентифицировано, пользователь должен предоставить доступ для вашего приложения, а пользователь должен быть аутентифицирован, чтобы предоставить этот доступ. Все это достигается с помощью OAuth 2.0 и написанных для него библиотек.

Область действия : каждый API определяет одну или несколько областей действия, в которых объявляется набор разрешенных операций. Например, API может иметь области только для чтения и для чтения и записи. Когда ваше приложение запрашивает доступ к пользовательским данным, запрос должен включать одну или несколько областей. Пользователь должен утвердить область доступа, запрашиваемую вашим приложением.

Маркеры обновления и доступа . Когда пользователь предоставляет вашему приложению доступ, сервер авторизации OAuth 2.0 предоставляет вашему приложению токены обновления и доступа. Эти токены действительны только для запрошенной области. Ваше приложение использует токены доступа для авторизации вызовов API. Токены доступа истекают, а токены обновления — нет. Ваше приложение может использовать маркер обновления для получения нового маркера доступа.

Идентификатор клиента и секрет клиента : эти строки однозначно идентифицируют ваше приложение и используются для получения токенов. Они создаются для вашего проекта в Консоли API . Существует три типа идентификаторов клиентов, поэтому убедитесь, что вы выбрали правильный тип для своего приложения:

Примеры

В этом разделе есть примеры простого использования API без авторизации. Дополнительные сведения о вызовах авторизации см. на странице OAuth 2.0 для .NET .

Простой пример API

В этом примере используется простой доступ к API для приложения командной строки. Он вызывает Google Discovery API для получения списка всех API Google.

Настройка например

Получите ключ Simple API . Чтобы найти ключ API вашего приложения, сделайте следующее:

  1. Откройте страницу учетных данных в консоли API.
  2. Этот API поддерживает два типа учетных данных. Создайте любые учетные данные, подходящие для вашего проекта:
    • OAuth 2.0: всякий раз, когда ваше приложение запрашивает личные данные пользователя, оно должно отправлять токен OAuth 2.0 вместе с запросом. Ваше приложение сначала отправляет идентификатор клиента и, возможно, секрет клиента для получения токена. Вы можете создавать учетные данные 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:

  • Чтобы использовать конкретный сервис, вы должны добавить ссылку на него. Например, если вы хотите использовать Tasks API , вам следует установить его NuGet-пакет Google.Apis.Tasks.v1 .
  • Чтобы создать экземпляр службы, просто вызовите ее конструктор. Например: new TasksService(new BaseClientService.Initializer {...});" .
  • Все методы службы расположены на отдельных ресурсах самого объекта службы. Служба обнаружения имеет ресурс Apis , который содержит метод List . При вызове service.Apis.List(..) возвращается объект запроса, предназначенный для этого метода.
    Чтобы выполнить запрос, вызовите метод Execute() или ExecuteAsyc() для запроса.
  • Задайте ключ API, используя свойство ApiKey экземпляра BaseClientService.Initializer .

Поиск информации об API

На странице Поддерживаемые API перечислены все API, к которым можно получить доступ с помощью этой библиотеки, а также ссылки на документацию.

Вы также можете использовать проводник API для просмотра API, списка доступных методов и даже пробовать вызовы API из браузера.