Sebbene Mutate, Search e SearchStream siano i metodi più comuni
nell'API Google Ads, ne esistono molti altri per scopi specifici. Tutti i servizi e
le relative API sono documentati nella
documentazione di riferimento.
Mappature da RPC buffer di protocollo a REST
Tutti gli endpoint dei servizi (che utilizzino REST e gRPC) sono definiti in definitiva nei file.proto del pacchetto dei servizi utilizzando il linguaggio di definizione dell'interfaccia proto3.
Esempio: ListAccessibleCustomers
Ad esempio, il file customer_service.proto
definisce un metodo ListAccessibleCustomers, oltre al metodo standard Mutate
. La relativa annotazione google.api.http descrive
come il metodo viene mappato su HTTP. Utilizza un metodo HTTP GET con il verbo personalizzato listAccessibleCustomers:
rpc ListAccessibleCustomers(ListAccessibleCustomersRequest) returns (ListAccessibleCustomersResponse) { option (google.api.http) = { get: "/v25/customers:listAccessibleCustomers" }; }
Questo metodo viene mappato sul customers.listAccessibleCustomers.
Esempio: CreateCustomerClient
Un altro esempio tratto da customer_service.proto è
il metodo CreateCustomerClient. La relativa annotazione google.api.http descrive un metodo HTTP POST che utilizza il verbo personalizzato createCustomerClient:
rpc CreateCustomerClient(CreateCustomerClientRequest) returns (CreateCustomerClientResponse) { option (google.api.http) = { post: "/v25/customers/{customer_id=*}:createCustomerClient" body: "*" }; option (google.api.method_signature) = "customer_id,customer_client"; }
Questo metodo viene mappato sul metodo REST customers.createCustomerClient.