Ruby示例使用GAN发布者id访问谷歌购物api



我想知道是否有人可以提供一个示例,说明如何使用GAN发布者ID和ruby(Google-API-ruby-client)从Google Shopping API中提取产品。我认为你需要使用oauth进行身份验证。文档非常稀疏,因此如有任何帮助,我们将不胜感激。

与客户端一起基本使用购物API很容易。

require 'google/api_client'
client = Google::APIClient.new
client.authorization = nil
shopping = client.discovered_api("shopping", "v1")
result = client.execute(:api_method => shopping.products.list,
                        :parameters => { "source" => "public" })

要通过GAN发布者ID进行查询,您需要进行身份验证。您可以使用OAuth 2来实现这一点。您可以在上看到ruby客户端的示例http://code.google.com/p/google-api-ruby-client/wiki/OAuth2.用于购物的范围是:

 https://www.googleapis.com/auth/shoppingapi

您可以使用API资源管理器来快速尝试:

http://code.google.com/apis/explorer/#_s=shopping&_v=v1&_m=products.list

0.9.11版本的更加简单

require 'google/apis/content_v2'
def list_products
  content_for_shopping = Google::Apis::ContentV2::ShoppingContentService.new
  content_for_shopping.authorization = get_authorization(%w(https://www.googleapis.com/auth/content))
  content_for_shopping.authorization.fetch_access_token!
  content_for_shopping.list_products(ENV['GOOGLE_MERCHANT_CENTER_ID'])
end
def get_authorization(scopes)
  cert_path = Gem.loaded_specs['google-api-client'].full_gem_path + '/lib/cacerts.pem'
  ENV['SSL_CERT_FILE'] = cert_path
  authorization = Google::Auth.get_application_default(scopes)
  # Clone and set the subject
  auth_client = authorization.dup
  return auth_client
end

最新更新