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-beta13" />
.NET CLI
dotnet add package Google.Ads.AdManager.V1 --version 1.0.0-beta13
กำหนดค่าข้อมูลเข้าสู่ระบบ
ไลบรารีของไคลเอ็นต์ .NET ใช้ 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 ในไลบรารีของไคลเอ็นต์ .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