查找实用程序

使用 API 时,如果需要获取对 proto 类的引用,您要么需要对 API 有深入的了解,要么需要经常查找 proto 参考文档以获取确切的命名空间路径。

ProtoLookupUtil

GoogleAdsClient(由 Factory 和 ServiceLookup 提供支持,取代了旧版 ProtoLookupUtil 类)上的查找实用程序方法可让您查找和创建服务、操作、枚举和资源实例,而无需跟踪 API 版本号和模块命名空间。默认情况下,这些方法会使用已安装 gem 支持的最高 API 版本(最新版本为 V25,其中次要 API 版本(例如 v25.1)使用其主要版本模块 V25),或者您可以在查找调用中指定明确的版本前缀(例如 v25)。

如果不使用查找实用程序,您可以直接从广告系列的已版本化命名空间实例化广告系列资源:

campaign =
  Google::Ads::GoogleAds::V25::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 }