В этом документе представлена вся основная информация, необходимая для начала использования библиотеки. В нем рассматриваются концепции библиотеки, показаны примеры для различных вариантов использования и приведены ссылки на дополнительную информацию.
Настраивать
Прежде чем вы сможете использовать эту библиотеку, необходимо выполнить несколько шагов по настройке:
- Если у вас еще нет учетной записи Google, зарегистрируйтесь .
- Если вы никогда не создавали проект консоли Google API, прочтите страницу «Управление проектами» и создайте проект в консоли Google API .
- Установите пакет 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. Срок действия токенов доступа истекает, а токенов обновления — нет. Ваше приложение может использовать токен обновления для получения нового токена доступа.
Идентификатор клиента и секрет клиента . Эти строки однозначно идентифицируют ваше приложение и используются для получения токенов. Они создаются для вашего проекта на API Console . Существует три типа идентификаторов клиентов, поэтому обязательно выберите правильный тип для вашего приложения:
- Идентификаторы клиентов веб-приложений
- Идентификаторы клиентов установленных приложений
- Идентификаторы клиентов сервисного аккаунта
Примеры
В этом разделе приведены примеры простого использования API без авторизации. Дополнительные сведения о вызовах авторизации см. на странице OAuth 2.0 для .NET .
Простой пример API
В этом примере используется простой доступ к API для приложения командной строки. Он вызывает API-интерфейс Google Discovery для получения списка всех API-интерфейсов Google.
Настройка, например
Получите простой ключ API . Чтобы найти ключ API вашего приложения, выполните следующие действия:
- Откройте страницу «Учетные данные» в консоли API.
- Этот 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 {...});"
. - Все методы службы расположены на отдельных ресурсах самого объекта службы. У службы Discovery есть ресурс
Apis
, который содержит методList
. Когда вы вызываетеservice.Apis.List(..)
возвращается объект запроса, предназначенный для этого метода.
Чтобы выполнить запрос, вызовите методExecute()
илиExecuteAsyc()
для запроса. - Задайте ключ API, используя свойство
ApiKey
экземпляраBaseClientService.Initializer
.
Поиск информации об API
На странице «Поддерживаемые API» перечислены все API, к которым можно получить доступ с помощью этой библиотеки, а также ссылки на документацию.
Вы также можете использовать API-обозреватель для просмотра API, получения списка доступных методов и даже попыток вызовов API из браузера.