تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
يوفر هذا المستند جميع المعلومات الأساسية التي تحتاجها لبدء استخدام المكتبة.
حيث يتناول مفاهيم المكتبة
أمثلة لحالات استخدام متنوعة،
ويقدم روابط إلى المزيد من المعلومات.
ضبط إعدادات الجهاز
هناك بعض خطوات الإعداد التي يجب إكمالها قبل أن تتمكن من استخدام هذه المكتبة:
من المهم فهم أساسيات كيفية التعامل مع مصادقة وتفويض واجهة برمجة التطبيقات.
يجب أن تستخدم جميع طلبات البيانات من واجهة برمجة التطبيقات إما الوصول البسيط أو المُصرَّح به (كما هو موضح أدناه).
تتطلب العديد من طرق واجهة برمجة التطبيقات إمكانية الوصول المُصرَّح به، ولكن يمكن للبعض استخدام أيٍ منهما.
تعمل بعض طرق واجهة برمجة التطبيقات التي يمكنها استخدام إما بشكل مختلف،
اعتمادًا على ما إذا كنت تستخدم الوصول البسيط أو المصرح به.
يمكنك الاطّلاع على وثائق طريقة واجهة برمجة التطبيقات لتحديد نوع الوصول المناسب.
1. وصول بسيط إلى واجهة برمجة التطبيقات (مفاتيح واجهة برمجة التطبيقات)
لا تؤدي طلبات البيانات من واجهة برمجة التطبيقات هذه إلى الوصول إلى أي بيانات خاصة بالمستخدمين.
يجب أن يصادق تطبيقك على نفسه كتطبيق ينتمي إلى
لمشروعك على وحدة التحكم في واجهة Google API.
هذا مطلوب لقياس استخدام المشروع لأغراض المحاسبة.
مفتاح واجهة برمجة التطبيقات:
لمصادقة تطبيقك، استخدم
مفتاح واجهة برمجة التطبيقات
لمشروع وحدة تحكم واجهة برمجة التطبيقات.
يجب أن تتضمن كل مكالمة وصول بسيطة يجريها تطبيقك هذا المفتاح.
2. الوصول المصرح به إلى واجهة برمجة التطبيقات (OAuth 2.0)
تصل طلبات البيانات من واجهة برمجة التطبيقات هذه إلى بيانات المستخدمين الخاصة.
قبل أن تتمكن من الاتصال بهم،
على المستخدم الذي لديه إذن الوصول إلى البيانات الخاصة أن يمنح تطبيقك إذن الوصول إلى البيانات.
لذلك، يجب المصادقة على تطبيقك،
يجب أن يمنح المستخدم إذن الوصول إلى تطبيقك
ويجب المصادقة على المستخدم لمنحه حق الوصول.
يتم تحقيق كل ذلك من خلال
OAuth 2.0 والمكتبات التي تمت كتابتها له.
المستوى:
تحدد كل واجهة برمجة تطبيقات نطاقًا واحدًا أو أكثر يوضح مجموعة من العمليات المسموح بها.
على سبيل المثال، قد تحتوي واجهة برمجة التطبيقات على نطاقات للقراءة فقط ونطاق للقراءة.
عندما يطلب تطبيقك الوصول إلى بيانات المستخدمين،
يجب أن يتضمن الطلب نطاقًا واحدًا أو أكثر.
يجب أن يوافق المستخدم على نطاق الوصول الذي يطلبه تطبيقك.
إعادة التحميل ورموز الدخول:
عندما يمنح أحد المستخدمين تطبيقك إذن الوصول، فإن خادم تفويض OAuth 2.0
تزويد التطبيق برموز إعادة التحميل والدخول.
هذه الرموز المميّزة صالحة فقط للنطاق المطلوب.
يستخدم تطبيقك رموز الدخول للموافقة على طلبات البيانات من واجهة برمجة التطبيقات.
تنتهي صلاحية رموز الدخول المميزة، ولكن لا تنتهي صلاحية رموز التحديث.
يمكن لتطبيقك استخدام رمز مميّز لإعادة التحميل للحصول على رمز دخول جديد.
معرّف العميل وسر العميل:
وتحدد هذه السلاسل تطبيقك بشكل فريد وتُستخدم للحصول على الرموز المميزة.
يتم إنشاؤها لمشروعك على وحدة تحكم واجهة برمجة التطبيقات.
هناك ثلاثة أنواع من معرّفات العملاء،
لذا تأكَّد من تحديد النوع الصحيح لتطبيقك:
تتوفر في هذا القسم أمثلة على استخدام واجهة برمجة تطبيقات بسيطة بدون إذن.
لمزيد من المعلومات عن طلبات التفويض، يمكنك الاطّلاع على
صفحة OAuth 2.0 لنظام .NET
مثال على واجهة برمجة تطبيقات بسيطة
يستخدم هذا المثال الدخول البسيط إلى واجهة برمجة التطبيقات لتطبيق سطر أوامر.
إنه يستدعي
Google Discovery API لإدراج جميع واجهات Google APIs.
الإعداد على سبيل المثال
الحصول على مفتاح واجهة برمجة التطبيقات Simple API للعثور على مفتاح واجهة برمجة التطبيقات لتطبيقك، اتّبِع الخطوات التالية:
تتيح واجهة برمجة التطبيقات هذه نوعين من بيانات الاعتماد.
قم بإنشاء أي بيانات الاعتماد المناسبة لمشروعك:
OAuth 2.0: كلما طلب التطبيق مستخدمًا خاصًا
البيانات، فينبغي أن يرسل رمز OAuth 2.0 المميز مع الطلب.
التطبيق أولاً معرّف العميل وربما سر العميل إلى
الحصول على رمز مميز. يمكنك إنشاء بيانات اعتماد OAuth 2.0 للويب.
التطبيقات، أو حسابات الخدمة، أو التطبيقات المثبّتة.
مفاتيح واجهة برمجة التطبيقات:
إذا لم يتم توفير رمز OAuth 2.0 المميز، يجب أن يتم إرسال واجهة برمجة تطبيقات في الطلب.
المفتاح.
يحدد المفتاح مشروعك ويوفر إمكانية الوصول إلى واجهة برمجة التطبيقات والحصة
التقارير.
تتيح واجهة برمجة التطبيقات عدة أنواع من القيود المفروضة على مفاتيح واجهة برمجة التطبيقات. إذا كان مفتاح واجهة برمجة التطبيقات الذي
غير موجود بالفعل، فأنشئ مفتاح واجهة برمجة تطبيقات في وحدة التحكم من خلال
النقر على إنشاء بيانات اعتماد
> مفتاح واجهة برمجة التطبيقات. يمكنك تقييد المفتاح قبل استخدامه
في قناة الإصدار العلني بالنقر على تقييد المفتاح واختيار أحد
القيود:
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);}}}}}
نصائح لاستخدام مفاتيح واجهة برمجة التطبيقات:
لاستخدام خدمة معيّنة، يجب إضافة مرجع إليها.
على سبيل المثال، إذا كنت تريد استخدام طريقة
Tasks API
يجب عليك تثبيت حزمة NuGet
Google.Apis.Tasks.v1
لإنشاء مثيل لخدمة، ما عليك إلا استدعاء الدالة الإنشائية الخاصة بها. مثل:
new TasksService(new BaseClientService.Initializer {...});"
تتوفّر جميع طرق الخدمة على موارد فردية في عنصر الخدمة نفسه.
تتضمن خدمة Discovery مورد Apis الذي يحتوي على طريقة List.
عند استدعاء service.Apis.List(..)، يتم عرض عنصر طلب يستهدف هذه الطريقة.
لتنفيذ طلب، يمكنك استدعاء طريقة Execute() أو ExecuteAsyc() في أحد الطلبات.
يمكنك ضبط مفتاح واجهة برمجة التطبيقات باستخدام السمة ApiKey على المثيل BaseClientService.Initializer.
العثور على معلومات عن واجهات برمجة التطبيقات
تشير رسالة الأشكال البيانية
واجهات برمجة التطبيقات المتوافقة
جميع واجهات برمجة التطبيقات التي يمكن الوصول إليها باستخدام هذه المكتبة بالإضافة إلى روابط إلى الوثائق.
يمكنك أيضًا استخدام صفحة
مستكشف واجهات برمجة التطبيقات
لتصفّح واجهات برمجة التطبيقات وإدراج الطُرق المتاحة وحتى تجربة طلبات البيانات من واجهة برمجة التطبيقات من المتصفّح.
تاريخ التعديل الأخير: 2025-08-31 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-31 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\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."]]