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