گوگل یک کتابخانه کلاینت .NET برای تعامل با Ad Manager API ارائه میدهد. ما استفاده از کتابخانه کلاینت را به همراه NuGet توصیه میکنیم.
برای شروع، یک پروژه جدید در IDE مورد نظر خود ایجاد کنید یا وابستگی را به یک پروژه موجود اضافه کنید. گوگل مصنوعات کتابخانه کلاینت را با نام Google.Ads.AdManager.V1 در مخزن NuGet منتشر میکند.
مرجع بسته
<!-- MyProject.csproj -->
<PackageReference Include="Google.Ads.AdManager.V1" Version="1.0.0-beta01" />
رابط خط فرمان داتنت
dotnet add package Google.Ads.AdManager.V1 --version 1.0.0-beta01
پیکربندی اعتبارنامهها
کتابخانه کلاینت .NET از OAuth2 و Application Default Credentials (ADC) برای احراز هویت استفاده میکند.
ADC به ترتیب در مکانهای زیر به دنبال اعتبارنامهها میگردد:
- متغیر محیطی
GOOGLE_APPLICATION_CREDENTIALS. - اعتبارنامههای کاربر از طریق رابط خط فرمان گوگل کلود (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);
}
}
برای مثالهایی از روشها و منابع دیگر، به مخزن گیتهاب 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 مراجعه کنید.