Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Este documento contém todas as informações básicas necessárias para você começar a usar a biblioteca.
Ele aborda os conceitos de biblioteca,
mostra exemplos de vários casos de uso,
e fornece links para mais informações.
Configuração
É preciso concluir algumas etapas de configuração para usar a biblioteca:
Se você ainda não tem uma Conta do Google,
Inscreva-se.
Instale o pacote NuGet com que você quer trabalhar.
Autenticação e autorização
É importante entender os conceitos básicos de como a autenticação e a autorização da API são tratadas.
Todas as chamadas de API precisam usar um acesso simples ou autorizado (definido abaixo).
Muitos métodos de API exigem acesso autorizado, mas alguns podem usar qualquer um deles.
Alguns métodos de API que podem usar qualquer um dos dois se comportam de maneira diferente,
dependendo do acesso (simples ou autorizado).
Consulte a documentação do método da API para determinar o tipo de acesso apropriado.
1. Acesso simples à API (chaves de API)
Essas chamadas de API não acessam dados particulares do usuário.
O aplicativo precisa ser autenticado como um aplicativo pertencente
ao projeto do Console de APIs do Google.
Isso é necessário para medir o uso do projeto para fins contábeis.
Chave de API:
Para autenticar o aplicativo, use uma
Chave de API
para o projeto do Console de APIs.
Todas as chamadas de acesso simples feitas pelo aplicativo precisam incluir essa chave.
2. Acesso autorizado à API (OAuth 2.0)
Essas chamadas de API acessam dados particulares do usuário.
Antes de ligar para eles,
o usuário que tem acesso aos dados privados precisa conceder acesso ao seu aplicativo.
Portanto, seu aplicativo precisa ser autenticado,
o usuário precisa conceder acesso ao seu aplicativo,
e o usuário precisa ser autenticado para conceder esse acesso.
Tudo isso é realizado com
OAuth 2.0 e bibliotecas criadas para ele.
Escopo:
Cada API define um ou mais escopos que declaram um conjunto de operações permitidas.
Por exemplo, uma API pode ter escopos somente leitura e leitura/gravação.
Quando seu aplicativo solicita acesso aos dados do usuário,
a solicitação precisa incluir um ou mais escopos.
O usuário precisa aprovar o escopo de acesso que seu aplicativo está solicitando.
Tokens de atualização e acesso:
Quando um usuário concede acesso a seu aplicativo, o servidor de autorização OAuth 2.0
fornece tokens de atualização e acesso ao aplicativo.
Esses tokens são válidos somente para o escopo solicitado.
Seu aplicativo usa tokens de acesso para autorizar chamadas de API.
Os tokens de acesso expiram, mas os tokens de atualização não.
Seu aplicativo pode usar um token de atualização para adquirir um novo token de acesso.
ID e chave secreta do cliente:
Essas strings identificam seu aplicativo de forma exclusiva e são usadas para adquirir tokens.
Elas são criadas para seu projeto no Console de APIs.
Há três tipos de IDs do cliente:
Portanto, certifique-se de obter o tipo correto para seu aplicativo:
Nesta seção, você verá exemplos de uso simples da API sem autorização.
Para mais informações sobre chamadas de autorização, consulte a
Página do OAuth 2.0 para .NET.
Exemplo de API simples
Este exemplo usa acesso simples à API para um aplicativo de linha de comando.
Ele chama o método
API Google Discovery para listar todas as APIs do Google.
Configuração, por exemplo
Gere sua chave de API simples. Para encontrar a chave de API do aplicativo, faça o seguinte:
Essa API aceita dois tipos de credenciais.
Crie as credenciais apropriadas para seu projeto:
OAuth 2.0: sempre que seu aplicativo solicitar dados particulares do usuário, ele deverá enviar um token OAuth 2.0 junto da solicitação. Primeiro, seu aplicativo envia um ID de cliente e, possivelmente, uma chave secreta do cliente para obter um token. É possível gerar credenciais OAuth 2.0 para aplicativos da Web, contas de serviço ou aplicativos instalados.
Chaves de API: uma solicitação que não fornece um token OAuth 2.0 precisa enviar uma chave de API.
A chave identifica seu projeto e fornece acesso à API, à cota e aos relatórios.
A API é compatível com diversos tipos de restrições em chaves de API. Se a chave de API que você
necessário ainda não existe, crie uma chave de API no console
clicando em Criar credenciais
> Chave de API. É possível restringir a chave antes de usá-la
em produção clicando em Restringir chave e selecionando um dos
Restrições.
usingSystem;usingSystem.Threading.Tasks;usingGoogle.Apis.Discovery.v1;usingGoogle.Apis.Discovery.v1.Data;usingGoogle.Apis.Services;namespaceDiscovery.ListAPIs{///<summary>
///ThisexampleusesthediscoveryAPItolistallAPIsinthediscoveryrepository.///https://developers.google.com/discovery/v1/using.///<summary>
classProgram{[STAThread]staticvoidMain(string[]args){Console.WriteLine("Discovery API Sample");Console.WriteLine("====================");try{newProgram().Run().Wait();}catch(AggregateExceptionex){foreach(vareinex.InnerExceptions){Console.WriteLine("ERROR: "+e.Message);}}Console.WriteLine("Press any key to continue...");Console.ReadKey();}privateasyncTaskRun(){//Createtheservice.varservice=newDiscoveryService(newBaseClientService.Initializer{ApplicationName="Discovery Sample",ApiKey="[YOUR_API_KEY_HERE]",});//Runtherequest.Console.WriteLine("Executing a list request...");varresult=awaitservice.Apis.List().ExecuteAsync();//Displaytheresults.if(result.Items!=null){foreach(DirectoryList.ItemsDataapiinresult.Items){Console.WriteLine(api.Id+" - "+api.Title);}}}}}
Dicas para usar chaves de API:
Para usar um serviço específico, você precisa adicionar uma referência a ele.
Por exemplo, se você quiser usar
API Tasks,
instale o pacote NuGet
Google.Apis.Tasks.v1.
Para criar uma instância de um serviço, basta chamar seu construtor. Exemplo:
new TasksService(new BaseClientService.Initializer {...});".
Todos os métodos de um serviço estão localizados em recursos individuais no próprio objeto de serviço.
O serviço de descoberta tem um recurso Apis, que contém um método List.
Quando você chama service.Apis.List(..), um objeto de solicitação que segmenta esse método é retornado.
Para executar uma solicitação, chame o método Execute() ou ExecuteAsyc() em uma solicitação.
Defina a chave de API usando a propriedade ApiKey na instância BaseClientService.Initializer.
Encontrar informações sobre as APIs
A
APIs compatíveis
lista todas as APIs que podem ser acessadas usando essa biblioteca, além de links para a documentação.
Você também pode usar o
APIs Explorer
para navegar pelas APIs, listar métodos disponíveis e até mesmo tentar chamadas de API em seu navegador.
[null,null,["Última atualização 2025-08-31 UTC."],[[["\u003cp\u003eThis documentation provides an overview of using the Google API client library for .NET, including setup, authentication, and usage examples.\u003c/p\u003e\n"],["\u003cp\u003eBefore using the library, ensure you have a Google account, a Google API Console project, and install the necessary NuGet package.\u003c/p\u003e\n"],["\u003cp\u003eThe library supports both simple API access using API keys and authorized access with OAuth 2.0 for private user data.\u003c/p\u003e\n"],["\u003cp\u003eSimple API access requires an API key for project usage tracking, while authorized access necessitates OAuth 2.0 for user data access.\u003c/p\u003e\n"],["\u003cp\u003eExamples are provided for basic API usage and guidance on locating further information about supported APIs and the APIs Explorer is included.\u003c/p\u003e\n"]]],[],null,["This document provides all the basic information you need to start using the library.\nIt covers the library concepts,\nshows examples for various use cases,\nand gives links to more information.\n\nSetup\n\n\nThere are a few setup steps you need to complete before you can use this library:\n\n1. If you don't already have a Google account, [sign up](https://www.google.com/accounts).\n2. If you have never created a Google API Console project, read the [Managing Projects page](/console/help/managing-projects) and create a project in the [Google API Console](https://console.cloud.google.com/).\n3. [Install](http://www.nuget.org/packages?q=google.apis&prerelease=true&sortOrder=relevance) the NuGet package you want to work with.\n\nAuthentication and authorization\n\n\nIt is important to understand the basics of how API authentication and authorization are handled.\nAll API calls must use either simple or authorized access (defined below).\nMany API methods require authorized access, but some can use either.\nSome API methods that can use either behave differently,\ndepending on whether you use simple or authorized access.\nSee the API's method documentation to determine the appropriate access type.\n\n1. Simple API access (API keys)\n\n\nThese API calls do not access any private user data.\nYour application must authenticate itself as an application belonging\nto your Google API Console project.\nThis is needed to measure project usage for accounting purposes.\n\n\n**API key** :\nTo authenticate your application, use an\n[API key](/console/help/using-keys)\nfor your API Console project.\nEvery simple access call your application makes must include this key.\n| **Warning**: Keep your API key private. If someone obtains your key, they could use it to consume your quota or incur charges against your API Console project.\n\n\u003cbr /\u003e\n\n2. Authorized API access (OAuth 2.0)\n\n\nThese API calls access private user data.\nBefore you can call them,\nthe user that has access to the private data must grant your application access.\nTherefore, your application must be authenticated,\nthe user must grant access for your application,\nand the user must be authenticated in order to grant that access.\nAll of this is accomplished with\n[OAuth 2.0](/accounts/docs/OAuth2) and libraries written for it.\n\n\n**Scope**:\nEach API defines one or more scopes that declare a set of operations permitted.\nFor example, an API might have read-only and read-write scopes.\nWhen your application requests access to user data,\nthe request must include one or more scopes.\nThe user needs to approve the scope of access your application is requesting.\n\n\n**Refresh and access tokens**:\nWhen a user grants your application access, the OAuth 2.0 authorization server\nprovides your application with refresh and access tokens.\nThese tokens are only valid for the scope requested.\nYour application uses access tokens to authorize API calls.\nAccess tokens expire, but refresh tokens do not.\nYour application can use a refresh token to acquire a new access token.\n| **Warning**: Keep refresh and access tokens private. If someone obtains your tokens, they could use them to access private user data.\n\n\u003cbr /\u003e\n\n\n**Client ID and client secret** :\nThese strings uniquely identify your application and are used to acquire tokens.\nThey are created for your project on the [API Console](https://console.cloud.google.com/).\nThere are three types of client IDs,\nso be sure to get the correct type for your application:\n\n- [Web application](/accounts/docs/OAuth2WebServer) client IDs\n- [Installed application](/accounts/docs/OAuth2InstalledApp) client IDs\n- [Service Account](/accounts/docs/OAuth2ServiceAccount) client IDs\n\n| **Warning**: Keep your client secret private. If someone obtains your client secret, they could use it to consume your quota, incur charges against your Console project, and request access to user data.\n\n\u003cbr /\u003e\n\nExamples\n\n\nIn this section, there are examples of simple API usage without authorization.\nFor more information about authorization calls, see the\n[OAuth 2.0 page for .NET](/api-client-library/dotnet/guide/aaa_oauth).\n\nSimple API example\n\n\nThis example uses simple API access for a command-line application.\nIt calls the\n[Google Discovery API](/discovery) to list all Google APIs.\n\nSetup for example\n\n\n**Get your Simple API key**. To find your application's API key, do the following:\n\n\n1. Open the [Credentials page](https://console.cloud.google.com/apis/credentials) in the API Console.\n2. This API supports two types of credentials. Create whichever credentials are appropriate for your project:\n - **OAuth 2.0:** Whenever your application requests private user\n data, it must send an OAuth 2.0 token along with the request. Your\n application first sends a client ID and, possibly, a client secret to\n obtain a token. You can generate OAuth 2.0 credentials for web\n applications, service accounts, or installed applications.\n\n For more information, see the [OAuth 2.0 documentation](https://developers.google.com/identity/protocols/OAuth2).\n - **API keys:**\n\n A request that does not provide an OAuth 2.0 token must send an API\n key.\n\n The key identifies your project and provides API access, quota, and\n reports.\n\n The API supports several types of restrictions on API keys. If the API key that you\n need doesn't already exist, then create an API key in the Console by\n clicking **[Create credentials](https://console.cloud.google.com/apis/credentials) \\\u003e API key** . You can restrict the key before using it\n in production by clicking **Restrict key** and selecting one of the\n **Restrictions**.\n\nTo keep your API keys secure, follow the [best practices for\nsecurely using API keys](//cloud.google.com/docs/authentication/api-keys).\n\n\u003cbr /\u003e\n\nCode for example \n\n```transact-sql\nusing System;\nusing System.Threading.Tasks;\n\nusing Google.Apis.Discovery.v1;\nusing Google.Apis.Discovery.v1.Data;\nusing Google.Apis.Services;\n\nnamespace Discovery.ListAPIs\n{\n /// \u003csummary\u003e\n /// This example uses the discovery API to list all APIs in the discovery repository.\n /// https://developers.google.com/discovery/v1/using.\n /// \u003csummary\u003e\n class Program\n {\n [STAThread]\n static void Main(string[] args)\n {\n Console.WriteLine(\"Discovery API Sample\");\n Console.WriteLine(\"====================\");\n try\n {\n new Program().Run().Wait();\n }\n catch (AggregateException ex)\n {\n foreach (var e in ex.InnerExceptions)\n {\n Console.WriteLine(\"ERROR: \" + e.Message);\n }\n }\n Console.WriteLine(\"Press any key to continue...\");\n Console.ReadKey();\n }\n\n private async Task Run()\n {\n // Create the service.\n var service = new DiscoveryService(new BaseClientService.Initializer\n {\n ApplicationName = \"Discovery Sample\",\n ApiKey=\"[YOUR_API_KEY_HERE]\",\n });\n\n // Run the request.\n Console.WriteLine(\"Executing a list request...\");\n var result = await service.Apis.List().ExecuteAsync();\n\n // Display the results.\n if (result.Items != null)\n {\n foreach (DirectoryList.ItemsData api in result.Items)\n {\n Console.WriteLine(api.Id + \" - \" + api.Title);\n }\n }\n }\n }\n}\n```\n\n\nTips for using API keys:\n\n- In order to use a specific service, you have to add a reference to it. For example if you want to use the [Tasks API](https://developers.google.com/google-apps/tasks/), you should install its NuGet package [Google.Apis.Tasks.v1](http://www.nuget.org/packages/Google.Apis.Tasks.v1/).\n- To create an instance of a service, just call its constructor. For example: `new TasksService(new BaseClientService.Initializer {...});\"`.\n- All methods of a service are located on individual resources on the service object itself. The Discovery service has an `Apis` resource, which contains a `List` method. When you call `service.Apis.List(..)` a request object targeting this method is returned. \n To execute a request, call the `Execute()` or `ExecuteAsyc()` method on a request.\n- Set the API key using the `ApiKey` property on the `BaseClientService.Initializer` instance.\n\nFinding information about the APIs\n\n\nThe\n[Supported APIs](/api-client-library/dotnet/apis)\npage lists all APIs that can be accessed using this library as well as links to documentation.\n\n\nYou can also use the\n[APIs Explorer](/apis-explorer)\nto browse APIs, list available methods, and even try API calls from your browser."]]