ルックアップ ユーティリティ

API を使用して proto クラスへの参照を取得するには、API を本質的に理解しているか、正確な名前空間パスについて proto リファレンス ドキュメントを頻繁に参照する必要があります。

ProtoLookupUtil

GoogleAdsClient のルックアップ ユーティリティ メソッド( ファクトリと ServiceLookup によってサポートされ、従来の ProtoLookupUtil クラスに代わるもの)を使用すると、API バージョン番号とモジュール名前空間を追跡しなくても、サービス、 オペレーション、列挙型、リソースのインスタンスを検索して作成できます。デフォルトでは、これらのメソッドは、インストールされている gem でサポートされている最も高い API バージョン(最新リリースでは V26。v25.1 などのマイナー API リリースではメジャー バージョン モジュール V25 を使用)を使用します。または、ルックアップ呼び出しで明示的なバージョン接頭辞(v26 など)を指定することもできます。

ルックアップ ユーティリティを使用しない場合は、バージョン付きの名前空間からキャンペーン リソースを直接インスタンス化します。

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

クライアント ルックアップ メソッドを使用すると、クライアントから直接リソースをインスタンス化できます。

campaign = client.resource.campaign

リソース、サービス、オペレーションを取得すると、そのエンティティのインスタンスが返されます。

# Instantiate an operation
operation = client.operation.campaign

サービス ルックアップ

他のエンティティにこのユーティリティを使用しない場合でも、client.service メソッドを使用してサービス クライアントを取得します。client.service は、返されたサービス クライアントで認証情報と転送設定を自動的に構成します。

campaign_service = client.service.campaign

列挙型ルックアップ

protobuf メッセージの enum フィールドの場合は、列挙型モジュールを検索するのではなく、Ruby シンボルを直接割り当てます。

campaign.status = :PAUSED

実行時に列挙型の有効なシンボルをすべて検査または反復処理するには、client.enum を使用します。これにより、その enum の Google::Protobuf::EnumDescriptor が返されます。

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