توفّر Google مكتبة عملاء .NET للتفاعل مع Ad Manager API. ننصحك باستخدام مكتبة العميل مع NuGet.
للبدء، أنشئ مشروعًا جديدًا في بيئة التطوير المتكاملة التي تختارها أو أضِف
التبعية إلى مشروع حالي. تنشر Google عناصر مكتبة العميل في مستودع NuGet باسم Google.Ads.AdManager.V1.
مرجع الحزمة
<!-- MyProject.csproj -->
<PackageReference Include="Google.Ads.AdManager.V1" Version="1.0.0-beta13" />
.NET CLI
dotnet add package Google.Ads.AdManager.V1 --version 1.0.0-beta13
ضبط بيانات الاعتماد
تستخدم مكتبة برامج .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.