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