查找实用程序

使用 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 消息中的枚举字段,请直接分配 Ruby 符号,而不是查找枚举模块:

campaign.status = :PAUSED

如需在运行时检查或迭代枚举的所有有效符号,请使用 client.enum,该方法会返回该枚举的 Google::Protobuf::EnumDescriptor:

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