8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

jQuery 楽天APIを必要最低限で動かす

Posted at

注意

この記事は、2年ほど前にQiitaに投稿した記事の再投稿になります。
若干内容が古くなっている可能性があります。

楽天APIを使用して、inputに打ち込んだ単語に関連する商品をドバっと垂れ流す仕組みを作ります。

1. 楽天API アプリの新規作成

https://webservice.rakuten.co.jp/document/
このページの右上、「アプリID発行」からなんやかんやで発行。
(この辺りは他の方の記事を参照のこと)
ちなみに「アプリURL」ですが、あくまで勉強としてローカル環境でのみ動かしたい場合は、適当に自分のGitHubページのURLなどを使用します。(人のページは勝手に使わないこと!)

2. HTML

<input type="text" id="search_area">
<button type="button" id="search_button">検索&lt;/button>
<ul></ul>

3. JavaScript

$(function(){
  $('#search_button').on('click', function(){
    var keyword = $('#search_area').val();
    $.get('https://app.rakuten.co.jp/services/api/IchibaItem/Search/20170706?', {
      applicationId: "1046798079875156979",
      keyword: keyword
    }, function(data){
      if (data.count > 0){
        $.each(data.Items, function(i, item){
          var temp = $(`&lt;li>&lt;a href="${item.Item.itemUrl}">&lt;img src="${item.Item.mediumImageUrls[0].imageUrl}">&lt;/a>&lt;/li>`);
          $('ul').append(temp);
        })
      }
    });
  });
});

出力結果

rakuten

補足

$.get('https://~~~~ の部分
ここは、色々書き方があって、


$.ajax({
  type: 'get',
  url: 'https://app.rakuten.co.jp/services/api/IchibaItem/Search/20170706?',
  data: {
    applicationId: "1920314253647586970", // 自身のapplicationIdを入力してください。この数字は適当です。
    keyword: keyword,
    hits: 20
  }

と書いても一緒です

返ってきたデータは、上記のコードだと item.Item.itemUrl や item.Item.mediumImageUrls[0].imageUrl として抜き出しています。 この辺りは各APIにより微妙に違ってくるので、dataをコンソールでよく確認しながら目当てのデータを抜き出してください。

8
3
0

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
8
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?