در حالی که Mutate ، Search و SearchStream رایجترین روشها در API گوگل ادز هستند، روشهای بسیار دیگری نیز برای اهداف خاص وجود دارند. همه سرویسها و APIهای آنها در مستندات مرجع مستند شدهاند.
نگاشتهای RPC به REST بافر پروتکل
تمام نقاط پایانی سرویس (چه با استفاده از REST و چه با استفاده از gRPC) در نهایت در فایلهای .proto از بسته سرویسها با استفاده از زبان تعریف رابط proto3 تعریف میشوند.
مثال: لیست مشتریان قابل دسترس
برای مثال، فایل customer_service.proto علاوه بر Mutate استاندارد، یک متد ListAccessibleCustomers را تعریف میکند. حاشیهنویسی google.api.http آن نحوه نگاشت متد به HTTP را شرح میدهد. این فایل از یک HTTP GET با فعل سفارشی listAccessibleCustomers استفاده میکند:
rpc ListAccessibleCustomers(ListAccessibleCustomersRequest) returns (ListAccessibleCustomersResponse) { option (google.api.http) = { get: "/v22/customers:listAccessibleCustomers" }; }
این به متد customers.listAccessibleCustomers REST نگاشت میشود.
مثال: ایجادمشتریمشتری
مثال دیگری از customer_service.proto متد CreateCustomerClient است. حاشیهنویسی google.api.http آن، یک HTTP POST با استفاده از فعل سفارشی createCustomerClient توصیف میکند:
rpc CreateCustomerClient(CreateCustomerClientRequest) returns (CreateCustomerClientResponse) { option (google.api.http) = { post: "/v22/customers/{customer_id=*}:createCustomerClient" body: "*" }; option (google.api.method_signature) = "customer_id,customer_client"; }
این به متد customers.createCustomerClient REST نگاشت میشود.