Другие методы

Хотя 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 .