Для извлечения ссылок на proto-классы при использовании API вам либо необходимо иметь глубокое понимание API, либо часто искать точный путь в справочной документации proto.
ProtoLookupUtil
Утилита proto lookup позволяет искать и создавать экземпляры служб, операций, перечислений и ресурсов без необходимости отслеживать номера версий API и пространства имен.
Вот как обычно создается кампания:
campaign = Google::Ads::GoogleAds::V21::Resources::Campaign.new
Но с помощью утилиты proto lookup можно использовать более простую форму:
campaign = client.resource.campaign
При извлечении ресурса, сервиса или операции возвращается экземпляр этой сущности. При извлечении перечисления возвращается ссылка на класс без создания экземпляра.
Для перечислений можно использовать сокращение, чтобы обойти необходимость поиска протоколов перечисления.
campaign.status = :PAUSED
Мы рекомендуем использовать метод client.service
для получения сервисов, даже если вы не используете эту утилиту для других целей. В этот метод встроена дополнительная логика для передачи токена разработчика и данных аутентификации, которую вам пришлось бы обрабатывать вручную при использовании другого метода.