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 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 phát hành 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 xác thực
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 thông tin xác thực 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 xác thực ADC, hãy xem phần Xác thực.
Tạo yêu cầu đầu tiên
Mỗi dịch vụ có một đối tượng ServiceClient
có cả phương thức đồng bộ và không đồng bộ cho mỗi phương thức REST. Ví dụ sau đây đọc Network
đồng bộ. Tất cả thực thể đượ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 dạ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ả 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 để hỗ trợ khắc phục sự cố. Ví dụ sau 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 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ể truyền trực tiếp các giá trị 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);