توفّر Google مكتبة عميل .NET للتفاعل مع Ad Manager API. ننصح باستخدام مكتبة العميل مع NuGet.
للبدء، أنشئ مشروعًا جديدًا في IDE التي تختارها أو أضِف الاعتمادية إلى مشروع حالي. تنشر Google عناصر مكتبة البرامج للعملاء في مستودع NuGet باسم Google.Ads.AdManager.V1.
مرجع الحزمة
<!-- MyProject.csproj -->
<PackageReference Include="Google.Ads.AdManager.V1" Version="1.0.0-beta01" />
NET CLI.
dotnet add package Google.Ads.AdManager.V1 --version 1.0.0-beta01
ضبط بيانات الاعتماد
تستخدم مكتبة برامج .NET OAuth2 وبيانات الاعتماد التلقائية للتطبيق (ADC) للمصادقة.
يبحث ADC عن بيانات الاعتماد بالترتيب في المواقع التالية:
GOOGLE_APPLICATION_CREDENTIALS.- إعداد بيانات اعتماد المستخدم من خلال واجهة سطر الأوامر في Google Cloud (gcloud CLI)
- عند التشغيل على Google Cloud، يكون حساب الخدمة مرتبطًا بمورد Google Cloud.
لإنشاء بيانات اعتماد ADC وإعدادها، يُرجى الاطّلاع على المصادقة.
تقديم طلبك الأول
تحتوي كل خدمة على كائن ServiceClient يتضمّن طريقتين متزامنة وغير متزامنة لكل طريقة REST. يقرأ المثال التالي Network بشكل متزامن. يتم تحديد جميع الكيانات من خلال
اسم مورد يتألف من النوع والمعرّف الرقمي للكيان.
using Google.Ads.AdManager.V1;
public sealed partial class GeneratedNetworkServiceClientSnippets
{
public void GetNetwork()
{
// Create client
NetworkServiceClient networkServiceClient = NetworkServiceClient.Create();
// Initialize request argument(s)
string name = "networks/[NETWORK_CODE]";
// Make the request
Network response = networkServiceClient.GetNetwork(name);
}
}
للاطّلاع على أمثلة على طرق ومراجع أخرى، يُرجى الرجوع إلى مستودع GitHub
googleapis/google-cloud-dotnet.
معالجة الأخطاء
جميع أخطاء Ad Manager API هي من النوع Grpc.Core.RpcException في مكتبة برامج .NET.
تتضمّن الأخطاء request_id فريدًا يمكنك تقديمه إلى فريق الدعم للحصول على المساعدة في تحديد المشاكل وحلّها. يستخرج المثال التالي حالة HTTP ورسالة الخطأ وrequest_id.
using Google.Ads.AdManager.V1;
using Google.Api.Gax.Grpc;
using Google.Rpc;
using Grpc.Core;
try
{
NetworkServiceClient networkServiceClient = NetworkServiceClient.Create();
Network network = networkServiceClient.GetNetwork("networks/[NETWORK_CODE]");
}
catch(RpcException e)
{
// HTTP Status code
StatusCode statusCode = e.Status.StatusCode;
// Error message
string errorMessage = e.Status.Detail;
// Unique request identifier.
RequestInfo requestInfo = e.GetStatusDetail<RequestInfo>();
string requestId = requestInfo?.RequestId ?? "Unexpected null request identifier";
}
إنشاء أسماء الموارد
توفّر مكتبة البرامج المساعدة فئات مساعدة لإنشاء أسماء الموارد من المعرّفات. ويمكن تمريرها مباشرةً إلى طرق الخدمة.
// Represents a resource name in the format:
// "networks/{networkCode}/orders/{orderId}"
OrderName name = OrderName.FromNetworkCodeOrder("123", "456");
Order response = orderServiceClient.GetOrder(name);
تهيئة إعدادات الخادم الوكيل
تلتزم مكتبة برامج .NET الخاصة بالعميل بالخاصية HttpClient.DefaultProxy، بما في ذلك إعداد الخوادم الوكيلة من متغيّرات البيئة HTTP_PROXY وHTTPS_PROXY. لمزيد من التفاصيل، يُرجى الاطّلاع على السمة HttpClient.DefaultProxy.