Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
En este documento, se proporciona toda la información básica que necesitas para comenzar a usar la biblioteca.
Abarca los conceptos de la biblioteca,
muestra ejemplos de distintos casos de uso,
y proporciona vínculos para obtener más información.
Configuración
Para poder usar esta biblioteca, debes completar algunos pasos de configuración:
Si aún no tienes una cuenta de Google,
registrarse.
Instala el paquete NuGet con el que deseas trabajar.
Autenticación y autorización
Es importante comprender los conceptos básicos de cómo se manejan la autenticación y la autorización de las APIs.
Todas las llamadas a la API deben usar un acceso simple o autorizado (definido a continuación).
Muchos métodos de API requieren acceso autorizado, pero algunos pueden usar cualquiera de ellas.
Algunos métodos de API que pueden usar cualquiera de ellas se comportan de manera diferente
según si usa el acceso simple o autorizado.
Consulta la documentación del método de la API para determinar el tipo de acceso adecuado.
1. Acceso simple a la API (claves de API)
Estas llamadas a la API no acceden a ningún dato privado del usuario.
Tu aplicación debe autenticarse a sí misma como una aplicación que pertenece
a tu proyecto de la Consola de APIs de Google.
Esto es necesario para medir el uso del proyecto con fines contables.
Clave de API:
Para autenticar tu aplicación, usa un
Clave de API
para tu proyecto de la Consola de APIs.
Cada llamada de acceso simple que realiza tu aplicación debe incluir esta clave.
2. Acceso autorizado a la API (OAuth 2.0)
Estas llamadas a la API acceden a datos privados del usuario.
Antes de que puedas llamarlos,
el usuario que tiene acceso a los datos privados debe otorgar el acceso a tu aplicación.
Por lo tanto, tu aplicación debe estar autenticada,
el usuario debe otorgar acceso para tu aplicación,
y el usuario debe autenticarse para otorgar ese acceso.
Todo esto se logra con
OAuth 2.0 y bibliotecas escritas para él
Alcance:
Cada API define uno o más alcances que declaran un conjunto de operaciones permitidas.
Por ejemplo, una API puede tener permisos de solo lectura y de lectura y escritura.
Cuando tu aplicación solicita acceso a datos del usuario,
la solicitud debe incluir uno o más permisos.
El usuario debe aprobar el permiso de acceso que solicita tu aplicación.
Tokens de acceso y actualización:
Cuando un usuario otorga acceso a tu aplicación, el servidor de autorización OAuth 2.0
le proporciona a la aplicación tokens de acceso y actualización.
Estos tokens solo son válidos para el permiso solicitado.
Tu aplicación usa tokens de acceso para autorizar llamadas a la API.
Los tokens de acceso vencen, pero los de actualización no.
Tu aplicación puede usar un token de actualización para adquirir un token de acceso nuevo.
ID de cliente y secreto del cliente:
Estas cadenas identifican de manera inequívoca tu aplicación y se usan para adquirir tokens.
Se crean para tu proyecto en la Consola de APIs.
Existen tres tipos de IDs de cliente:
así que asegúrate de obtener el tipo correcto para tu aplicación:
En esta sección, hay ejemplos del uso simple de la API sin autorización.
Para obtener más información sobre las llamadas de autorización, consulta el
Página de OAuth 2.0 para .NET
Ejemplo de API simple
En este ejemplo, se usa un acceso simple a la API para una aplicación de línea de comandos.
Llama al
API de Google Discovery para enumerar todas las APIs de Google.
Configuración de ejemplo
Obtén tu clave de API simple. Para encontrar la clave de API de tu aplicación, haz lo siguiente:
En esta API, se admiten dos tipos de credenciales.
Crea las credenciales apropiadas para tu proyecto:
OAuth 2.0: Siempre que se soliciten datos privados del usuario, mediante tu aplicación se debe enviar un token OAuth 2.0 junto con la solicitud. En primer lugar, se envía un ID de cliente y, posiblemente, un secreto de cliente para obtener un token a través de la aplicación. Puedes generar credenciales OAuth 2.0 para aplicaciones web, cuentas de servicio o aplicaciones instaladas.
Claves de API:
Una solicitud que no proporciona un token de OAuth 2.0 debe enviar una API
.
Con la clave de API, se identifica tu proyecto y se proporciona acceso a la API, la cuota y los informes.
En la API, se admiten varios tipos de restricciones sobre las claves de API. Si la clave de API que
no existe, crea una clave de API en la consola
haz clic en Crear credenciales
> Clave de API Puedes restringir la clave antes de usarla
en producción. Para ello, haz clic en Restringir clave y selecciona una de las
Restricciones.
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);}}}}}
Sugerencias para usar claves de API:
Para usar un servicio específico, debes agregarle una referencia.
Por ejemplo, si quieres usar
API de Tasks,
deberías instalar el paquete NuGet
Google.Apis.Tasks.v1.
Para crear una instancia de un servicio, simplemente llama a su constructor. Por ejemplo: new TasksService(new BaseClientService.Initializer {...});".
Todos los métodos de un servicio se ubican en recursos individuales dentro del objeto de servicio.
El servicio de descubrimiento tiene un recurso Apis, que contiene un método List.
Cuando llamas a service.Apis.List(..), se muestra un objeto de solicitud orientado a este método.
Para ejecutar una solicitud, llama al método Execute() o ExecuteAsyc() en ella.
Configura la clave de API con la propiedad ApiKey en la instancia BaseClientService.Initializer.
Encuentra información sobre las APIs
El
APIs admitidas
enumera todas las APIs a las que se puede acceder con esta biblioteca, así como vínculos a la documentación.
También puedes usar
Explorador de APIs
para explorar APIs, enumerar los métodos disponibles y hasta probar las llamadas a la API desde tu navegador.
[null,null,["Última actualización: 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."]]