Пример Ruby для доступа к API покупок Google с помощью идентификатора издателя GAN - PullRequest
4 голосов
/ 22 марта 2012

Мне было интересно, кто-нибудь может привести пример того, как получить продукты из Google Shopping API, используя идентификатор издателя GAN и ruby ​​(google-api-ruby-client). Я так понимаю, вам нужно аутентифицироваться, используя oauth. Документация очень редкая, поэтому любая помощь будет высоко ценится.

Ответы [ 2 ]

1 голос
/ 13 апреля 2012

Простое использование 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, вам необходимо пройти аутентификацию, насколько вам известно. Вы можете использовать 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 голосов
/ 26 августа 2016

С версией 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
...