.NET

Google มีไลบรารีของไคลเอ็นต์ .NET สำหรับโต้ตอบกับ Ad Manager API เราขอแนะนำให้ใช้ไลบรารีของไคลเอ็นต์กับ NuGet

หากต้องการเริ่มต้นใช้งาน ให้สร้างโปรเจ็กต์ใหม่ใน IDE ที่คุณเลือก หรือเพิ่มทรัพยากร Dependency ไปยังโปรเจ็กต์ที่มีอยู่ 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 จะค้นหาข้อมูลเข้าสู่ระบบตามลำดับในตำแหน่งต่อไปนี้

  1. GOOGLE_APPLICATION_CREDENTIALS ตัวแปรสภาพแวดล้อม
  2. ข้อมูลเข้าสู่ระบบของผู้ใช้ที่ตั้งค่าผ่าน Google Cloud CLI (gcloud CLI)
  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);

ตั้งค่าพร็อกซี

ไลบรารีของไคลเอ็นต์ .NET จะใช้พร็อพเพอร์ตี้ HttpClient.DefaultProxy รวมถึงการตั้งค่าพร็อกซีจากตัวแปรสภาพแวดล้อม HTTP_PROXY และ HTTPS_PROXY ดูรายละเอียดเพิ่มเติมได้ที่ HttpClient.DefaultProxy Property