こんにちはIT初心者のうえはらです。
ぐるなびウェブサービスでエリアマスタと都道府県マスタを前回取得したので、その他のマスタを取得したGASプログラムです。
中身は同じなんですけど、KeyIDの参照を変えてみました。
公開するときに毎回「*」に変更するのは面倒だな~と思っていました。以前どこかのサイトで、「ファイル」→「プロジェクトのプロパティ」→「スクリプトのプロパティ」にアクセスキーを登録して、そこから参照するようにしましたのを見ていたので、同じようにしようと思い、四苦八苦しました。
「ファイル」→「プロジェクトのプロパティ」に「ユーザープロパティ」があるので、初めはそこに登録して、
var KeyID = PropertiesService.getUserProperties().getProperty('GurunaviKeyId')
↑でユーザープロパティを呼び出そうとしたんですが、なぜかエラー。デバッグしてみると、[KeyID = Null]となってる。う~ん、なんで?。色々調べたけどわからん。
じゃあ、「スクリプトのプロパティ」でやってみよう!
うまくいった!なんで?。まぁ、できたので、深く考えずに進みましょう。
ちょっとレベルが上がってきたら、ちゃんと調べてみます!
エリアLマスタ取得
function AreaL_Get() { var KeyID = PropertiesService.getScriptProperties().getProperty('GurunaviKeyId'); var url = 'https://api.gnavi.co.jp/master/GAreaLargeSearchAPI/20150630/?'; url = url + 'keyid=' + KeyID; url = url + '&format=json'; var response = UrlFetchApp.fetch(url); var json=JSON.parse(response.getContentText()); var intNum = Object.keys(json.garea_large).length;//jsonの要素数取得 var arrArea = [];//配列の変数作成 for (var i=0;i<intNum;i++){//jsonの要素数だけ繰り返す var A = json.garea_large[i].areacode_l; var B = json.garea_large[i].areaname_l; var C = json.garea_large[i].pref.pref_code; var D = json.garea_large[i].pref.pref_name; arrArea.push([A,B,C,D]); } var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet1 = ss.getSheetByName('エリアL'); var rows = arrArea.length; var cols = arrArea[0].length; sheet1.getRange(1,1,rows,cols).setValues(arrArea);//スプレッドシートへ追加 }
エリアMマスタ取得
function AreaM_Get() { var KeyID = PropertiesService.getScriptProperties().getProperty('GurunaviKeyId'); var url = 'https://api.gnavi.co.jp/master/GAreaMiddleSearchAPI/20150630/?'; url = url + 'keyid=' + KeyID; url = url + '&format=json'; var response = UrlFetchApp.fetch(url); var json=JSON.parse(response.getContentText()); var intNum = Object.keys(json.garea_middle).length;//jsonの要素数取得 var arrArea = [];//配列の変数作成 for (var i=0;i<intNum;i++){//jsonの要素数だけ繰り返す var A = json.garea_middle[i].areacode_m; var B = json.garea_middle[i].areaname_m; var C = json.garea_middle[i].garea_large.areacode_l; var D = json.garea_middle[i].garea_large.areaname_l; var E = json.garea_middle[i].pref.pref_code; var F = json.garea_middle[i].pref.pref_name; arrArea.push([A,B,C,D,E,F]); } var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet1 = ss.getSheetByName('エリアM'); var rows = arrArea.length; var cols = arrArea[0].length; sheet1.getRange(1,1,rows,cols).setValues(arrArea);//スプレッドシートへ追加 }
function AreaS_Get() { var KeyID = PropertiesService.getScriptProperties().getProperty('GurunaviKeyId'); var url = 'https://api.gnavi.co.jp/master/GAreaSmallSearchAPI/20150630/?'; url = url + 'keyid=' + KeyID; url = url + '&format=json'; var response = UrlFetchApp.fetch(url); var json=JSON.parse(response.getContentText()); var intNum = Object.keys(json.garea_small).length;//jsonの要素数取得 var arrArea = [];//配列の変数作成 for (var i=0;i<intNum;i++){//jsonの要素数だけ繰り返す var A = json.garea_small[i].areacode_s; var B = json.garea_small[i].areaname_s; var C = json.garea_small[i].garea_middle.areacode_m; var D = json.garea_small[i].garea_middle.areaname_m; var E = json.garea_small[i].garea_large.areacode_l; var F = json.garea_small[i].garea_large.areaname_l; var G = json.garea_small[i].pref.pref_code; var H = json.garea_small[i].pref.pref_name; arrArea.push([A,B,C,D,E,F,G,H]); } var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet1 = ss.getSheetByName('エリアS'); var rows = arrArea.length; var cols = arrArea[0].length; sheet1.getRange(1,1,rows,cols).setValues(arrArea);//スプレッドシートへ追加 }
大業態マスタ取得
function CategoryL_Get() { var KeyID = PropertiesService.getScriptProperties().getProperty('GurunavieyId'); var url = 'https://api.gnavi.co.jp/master/CategoryLargeSearchAPI/20150630/?'; url = url + 'keyid=' + KeyID; url = url + '&format=json'; var response = UrlFetchApp.fetch(url); var json=JSON.parse(response.getContentText()); var intNum = Object.keys(json.category_l).length;//jsonの要素数取得 var arrArea = [];//配列の変数作成 for (var i=0;i<intNum;i++){//jsonの要素数だけ繰り返す var A = json.category_l[i].category_l_code; var B = json.category_l[i].category_l_name; arrArea.push([A,B]); } var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet1 = ss.getSheetByName('大業態'); var rows = arrArea.length; var cols = arrArea[0].length; sheet1.getRange(1,1,rows,cols).setValues(arrArea);//スプレッドシートへ追加 }
小業態マスタ取得
function CategoryS_Get() { var KeyID = PropertiesService.getScriptProperties().getProperty('GurunaviKeyId'); var url = 'https://api.gnavi.co.jp/master/CategorySmallSearchAPI/20150630/?'; url = url + 'keyid=' + KeyID; url = url + '&format=json'; var response = UrlFetchApp.fetch(url); var json=JSON.parse(response.getContentText()); var intNum = Object.keys(json.category_s).length;//jsonの要素数取得 var arrArea = [];//配列の変数作成 for (var i=0;i<intNum;i++){//jsonの要素数だけ繰り返す var A = json.category_s[i].category_s_code; var B = json.category_s[i].category_s_name; var C = json.category_s[i].category_l_code; arrArea.push([A,B,C]); } var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet1 = ss.getSheetByName('小業態'); var rows = arrArea.length; var cols = arrArea[0].length; sheet1.getRange(1,1,rows,cols).setValues(arrArea);//スプレッドシートへ追加 }
コメント