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 (oparte na fabrykach i ServiceLookup, które zastępują 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 (V25 w najnowszej wersji, gdzie mniejsze wersje interfejsu API, takie jak v25.1, używają modułu wersji głównej V25). Możesz też określić w wywołaniu wyszukiwania wyraźny prefiks wersji (np. v25).
Bez narzędzia do wyszukiwania tworzysz instancję zasobu kampanii bezpośrednio z przestrzeni nazw z określoną wersją:
campaign =
Google::Ads::GoogleAds::V25::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 tego elementu:
# Instantiate an operation
operation = client.operation.campaign
Wyszukiwanie usługi
Do pobierania klientów usług używaj metody client.service, nawet jeśli nie używasz tego narzędzia w przypadku innych podmiotów. client.service automatycznie konfiguruje dane logowania i ustawienia transportu w zwróconym kliencie usługi:
campaign_service = client.service.campaign
Wyszukiwanie wyliczenia
W przypadku pól wyliczeniowych w wiadomościach protobuf przypisz bezpośrednio symbol Ruby zamiast wyszukiwać moduł wyliczeniowy:
campaign.status = :PAUSED
Aby sprawdzić lub iterować wszystkie prawidłowe symbole wyliczenia w czasie działania programu, użyj funkcji
client.enum, która zwraca Google::Protobuf::EnumDescriptor dla tego wyliczenia:
status_enum = client.enum.campaign_status
status_enum.each { |status| p status }