Хотя Mutate
, Search
и SearchStream
являются наиболее распространенными методами в API Google Рекламы, существует множество других методов для конкретных целей. Все сервисы и их API описаны в справочной документации REST .
Сопоставление буфера протокола RPC с REST
Все конечные точки службы (независимо от того, используют ли они REST и gRPC) в конечном итоге определяются в файлах .proto пакета служб с использованием языка определения интерфейса proto3 .
Пример: ListAccessibleCustomers
Например, файл customer_service.proto
определяет метод ListAccessibleCustomers
в дополнение к стандартному Mutate
. Его аннотация google.api.http
описывает, как метод сопоставляется с HTTP. Он использует HTTP GET
с пользовательским глаголом listAccessibleCustomers
:
rpc ListAccessibleCustomers(ListAccessibleCustomersRequest) returns (ListAccessibleCustomersResponse) { option (google.api.http) = { get: "/v17/customers:listAccessibleCustomers" }; }
Это соответствует методу REST customer.listAccessibleCustomers .
Пример: CreateCustomerClient
Другой пример из customer_service.proto
— метод CreateCustomerClient
. Его аннотация google.api.http
описывает HTTP POST
с использованием специального глагола createCustomerClient
:
rpc CreateCustomerClient(CreateCustomerClientRequest) returns (CreateCustomerClientResponse) { option (google.api.http) = { post: "/v17/customers/{customer_id=*}:createCustomerClient" body: "*" }; option (google.api.method_signature) = "customer_id,customer_client"; }
Это соответствует методу REST customer.createCustomerClient .