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