Narzędzie wyszukiwania

Pobieranie odwołań do klas proto podczas korzystania z interfejsu API wymaga, aby użytkownik dobrze znał interfejs API lub często sprawdzał dokumentację referencyjną proto, aby znaleźć dokładną ścieżkę przestrzeni nazw.

ProtoLookupUtil

Metody narzędzia do wyszukiwania w GoogleAdsClient (obsługiwane przez fabryki i ServiceLookup, zastępujące starszą klasę ProtoLookupUtil) umożliwiają wyszukiwanie i tworzenie instancji usług, operacji, wyliczeń i zasobów bez konieczności śledzenia numerów wersji interfejsu API i przestrzeni nazw modułów. Domyślnie te metody używają najwyższej wersji interfejsu API obsługiwanej przez zainstalowany gem (V26 w najnowszej wersji, w której mniejsze wersje interfejsu API, takie jak v25.1, używają modułu wersji głównej V25), lub możesz określić wyraźny prefiks wersji (np. v26) w wywołaniu wyszukiwania.

Bez narzędzia do wyszukiwania tworzysz instancję zasobu kampanii bezpośrednio z jego przestrzeni nazw z informacjami o wersji:

campaign =
  Google::Ads::GoogleAds::V26::Resources::Campaign.new

Za pomocą metod wyszukiwania klienta możesz utworzyć instancję zasobu bezpośrednio z klienta:

campaign = client.resource.campaign

Podczas pobierania zasobu, usługi lub operacji zwracana jest instancja tej jednostki:

# Instantiate an operation
operation = client.operation.campaign

Wyszukiwanie usługi

Użyj metody client.service, aby pobrać klientów usług, nawet jeśli nie używasz tego narzędzia do innych jednostek. client.service automatycznie konfiguruje dane uwierzytelniające i ustawienia transportu w zwróconym kliencie usługi:

campaign_service = client.service.campaign

Wyszukiwanie wyliczenia

W przypadku pól typu wyliczeniowego w komunikatach protobuf przypisz bezpośrednio symbol Ruby zamiast wyszukiwać moduł wyliczenia:

campaign.status = :PAUSED

Aby sprawdzić lub przejrzeć wszystkie prawidłowe symbole wyliczenia w czasie działania programu, użyj client.enum, który zwraca Google::Protobuf::EnumDescriptor dla tego wyliczenia:

status_enum = client.enum.campaign_status
status_enum.each { |status| p status }