‎.NET

‫Google מספקת ספריית לקוח של ‎ .NET לאינטראקציה עם Ad Manager API. מומלץ להשתמש בספריית הלקוח עם NuGet.

כדי להתחיל, יוצרים פרויקט חדש ב-IDE שבחרתם או מוסיפים את התלות לפרויקט קיים. ‫Google מפרסמת פריטי מידע שנוצרו בתהליך הפיתוח (artifacts) של ספריית הלקוח במאגר 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 וב-Application Default Credentials‏ (ADC) לאימות.

החיפוש של פרטי הכניסה ב-ADC מתבצע במקומות הבאים, לפי הסדר:

  1. משתנה הסביבה GOOGLE_APPLICATION_CREDENTIALS.
  2. פרטי הכניסה של המשתמשים, שהוגדרו באמצעות Google Cloud CLI (ה-CLI של gcloud).
  3. כשמפעילים ב-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);

קביעת הגדרות לשרת proxy

ספריית הלקוח של ‎ .NET מכבדת את המאפיין HttpClient.DefaultProxy, כולל הגדרת שרתי proxy ממשתני הסביבה HTTP_PROXY ו-HTTPS_PROXY. פרטים נוספים זמינים במאמר HttpClient.DefaultProxy Property.