Google یک کتابخانه کلاینت دات نت برای تعامل با Ad Manager API فراهم می کند. توصیه می کنیم از کتابخانه مشتری با NuGet استفاده کنید.
برای شروع، یک پروژه جدید در IDE مورد نظر خود ایجاد کنید یا وابستگی را به پروژه موجود اضافه کنید. Google مصنوعات کتابخانه مشتری را به عنوان Google.Ads.AdManager.V1
در مخزن NuGet منتشر می کند.
مرجع پکیج
<!-- 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
اعتبارنامه ها را پیکربندی کنید
کتابخانه مشتری دات نت از OAuth2 و اعتبارنامه پیش فرض برنامه (ADC) برای احراز هویت استفاده می کند.
ADC اعتبارنامه ها را به ترتیب در مکان های زیر جستجو می کند:
- متغیر محیطی
GOOGLE_APPLICATION_CREDENTIALS
. - اطلاعات کاربری کاربر از طریق Google Cloud CLI (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 در کتابخانه مشتری دات نت هستند.
خطاها شامل یک 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);