LoginSignup
29
31

More than 5 years have passed since last update.

Railsで楽天APIを使って商品検索をする(楽天APIの導入からRailsに組み込むまで)

Last updated at Posted at 2016-08-08

Rakuten Web Service APIについて

Rakuten Web Service APIs.

商品検索APIについて

楽天商品検索API (version:2014-02-22)

token取得

API利用にtokenが必須
新規アプリ登録

Ruby関連

API形式

https://app.rakuten.co.jp/services/api/IchibaItem/Search/20140222?format=json&keyword=(エンコードしたキーワード)&applicationId=(アプリID/デベロッパーID)

最低限以下の2つがあれば商品検索できる
- アプリID
- 検索キーワード、ジャンルID、商品コード、ショップコードのどれか

本題のRailsでgem(rws-ruby-sdk)使用の例

Gemfile

rakuten-ws/rws-ruby-sdk

gem 'rakuten_web_service'

rakuten.rb

config/initializers/rakuten.rb

config/initializers/rakuten.rb
RakutenWebService.configuration do |c|
    c.application_id = 'アプリケーションID'
    c.affiliate_id = 'アフィリエイトID'#任意
end

(注)下のコメントも参考にしてください

controller

使いたいコントローラーにメソッド追加

def search_rakuten_api(keyword)
  items = RakutenWebService::Ichiba::Item.search(keyword: keyword)
  images_arr = []
  items.each do |item|

  # したい処理
  puts item['itemName'] #商品名
  puts item['itemPrice'] #価格
  puts item['itemUrl'] #商品のURL

  end
end

複数条件で検索したい場合は

items = RakutenWebService::Ichiba::Item.search(keyword: keyword, hits: 10, ....)

みたいにすればOK

まとめ

githubみたら

class RakutenController < ApplicationController
  def search
    RakutenWebService.configuration do |c|
      c.application_id = ENV["APPID"]
      c.affiliate_id = ENV["AFID"]
    end
    result = RakutenWebService::Ichiba::Item.search(keyword: params[:jan]).first
    render json: result
  end
end

みたいにcontrollerにすべて書いている人もいた
どっちがいいかはわからない。

参考サイト

rakuten-ws/rws-ruby-sdk
Ruby SDK

29
31
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
29
31