使用GAN发布者ID访问google shopping api的Ruby示例

时间:2012-03-22 12:55:52

标签: ruby-on-rails ruby api google-api-client

我想知道是否有人可以提供一个如何使用GAN发布商ID和ruby(google-api-ruby-client)从Google Shopping API中提取产品的示例。我正在收集您需要使用oauth进行身份验证。 documentation非常稀疏,所以任何帮助都会非常感激。

2 个答案:

答案 0 :(得分:1)

购物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。您可以在http://code.google.com/p/google-api-ruby-client/wiki/OAuth2查看ruby客户端的示例。用于购物的范围是:

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

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

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

答案 1 :(得分:0)

版本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