Google cung cấp một thư viện ứng dụng .NET để tương tác với API Ad Manager. Bạn nên sử dụng thư viện ứng dụng với NuGet.
Để bắt đầu, hãy tạo một dự án mới trong IDE mà bạn chọn hoặc thêm phần phụ thuộc vào một dự án hiện có. Google xuất bản các cấu phần phần mềm thư viện ứng dụng vào kho lưu trữ NuGet dưới dạng Google.Ads.AdManager.V1.
Tài liệu tham khảo về gói
<!-- 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
Định cấu hình thông tin đăng nhập
Thư viện ứng dụng .NET sử dụng OAuth2 và Thông tin xác thực mặc định của ứng dụng (ADC) để xác thực.
ADC tìm kiếm thông tin đăng nhập theo thứ tự ở các vị trí sau:
- Biến môi trường
GOOGLE_APPLICATION_CREDENTIALS. - Thông tin đăng nhập của người dùng được thiết lập thông qua Google Cloud CLI (gcloud CLI).
- Khi chạy trên Google Cloud, tài khoản dịch vụ được đính kèm vào tài nguyên Google Cloud.
Để tạo và định cấu hình thông tin đăng nhập ADC, hãy xem phần Xác thực.
Tạo yêu cầu đầu tiên
Mỗi dịch vụ đều có một đối tượng ServiceClient với cả phương thức đồng bộ và không đồng bộ cho từng phương thức REST. Ví dụ sau đây đọc Network một cách đồng bộ. Tất cả các thực thể đều được xác định bằng một tên tài nguyên bao gồm loại và giá trị nhận dạng bằng số của thực thể.
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);
}
}
Để biết ví dụ về các phương thức và tài nguyên khác, hãy xem kho lưu trữ GitHub googleapis/google-cloud-dotnet.
Xử lý lỗi
Tất cả các lỗi API Ad Manager đều thuộc loại Grpc.Core.RpcException trong thư viện ứng dụng .NET.
Lỗi bao gồm một request_id duy nhất mà bạn có thể cung cấp cho nhóm hỗ trợ để được trợ giúp khắc phục sự cố. Ví dụ sau đây trích xuất trạng thái HTTP, thông báo lỗi và 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";
}
Tạo tên tài nguyên
Thư viện ứng dụng cung cấp các lớp trợ giúp để tạo tên tài nguyên từ mã nhận dạng. Bạn có thể chuyển trực tiếp các đối tượng này đến các phương thức dịch vụ.
// Represents a resource name in the format:
// "networks/{networkCode}/orders/{orderId}"
OrderName name = OrderName.FromNetworkCodeOrder("123", "456");
Order response = orderServiceClient.GetOrder(name);
Định cấu hình cài đặt proxy
Thư viện ứng dụng .NET tuân theo thuộc tính HttpClient.DefaultProxy, bao gồm cả việc thiết lập các proxy từ các biến môi trường HTTP_PROXY và HTTPS_PROXY. Để biết thêm thông tin, hãy xem HttpClient.DefaultProxy Property (Thuộc tính HttpClient.DefaultProxy).