GoogleAppsScriptで価格.comの「商品検索 API」を使う

価格.comの商品検索APIGoogle Apps Script で作成した時のメモ。
Amazon編とほぼ同じ。


1.API利用のための準備
以下のページより、利用を申し込む。
価格.com WEBサービス - Top


2.サンプルコードの作成
以下の作業を行い、動作を確認。


  • 範囲を作成
範囲名 SearchRange
セルの範囲 A2:C9

  キーワードから、タイトル・最低価格を取得するサンプルコードは以下。

function main() {
  sheet = SpreadsheetApp.getActiveSpreadsheet();
  range = sheet.getRangeByName("SearchRange");
  
  
  //Kakaku API Run
  for(i = 1; i < 3; i++)
  {
    var cellKeyword = range.getCell(i, 1).getValue();
    var xmlData = getXML_(cellKeyword);
    var productName = getProductName_(xmlData);
    var price = getPrice_(xmlData);
    
    range.getCell(i, 2).setValue(productName);
    range.getCell(i, 3).setValue(price);
  }
}


function getXML_(keyword){
  
  var url = "http://api.kakaku.com/WebAPI/ItemSearch/Ver1.0/ItemSearch.aspx?";
  var apikey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";  //Your API Key
  
  var parameters = {
    "ApiKey":apikey,
    "Keyword":keyword
  }
  
  var para_array = [];
  for(var para in parameters){
    para_array.push(para + "=" + encodeURIComponent(parameters[para]));
  }
  
  var urlParameter = para_array.join('&');
  var response = UrlFetchApp.fetch(url + urlParameter);
  
  //Browser.msgBox(response.getContentText());
  
  var xml = Xml.parse(response.getContentText(), false);
  return xml;
}


function getProductName_(xmlData){
  var title = xmlData.getElement().getElement("Item").getElement("ProductName").getText();
  return title;
}


function getPrice_(xmlData){
  var price = xmlData.getElement().getElement("Item").getElement("LowestPrice").getText();
  return price;
}


3.動作結果