توفّر 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
dotnet add package Google.Ads.AdManager.V1 --version 1.0.0-beta01
ضبط بيانات الاعتماد
تستخدم مكتبة عملاء .NET بروتوكول OAuth2 وبيانات الاعتماد التلقائية للتطبيق (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);