前回のコードを修正する
前回はAPIを使用して天気予報を取得してきました。
forありの内容に書き換えたいと思います。
GASのデバッグ方法
GASから18行目の場所をクリックして「ブレークポイント」を設定します。
紫色の丸印が表示されたら設定が成功しています。
次にデバッグボタンをクリックします。
すると画面右側にて「ブレークポイント」を設定した箇所で止まります。
今回forで配列の数だけ回したいので「Array」と書かれた箇所を探します。
json_getdata > list:Array(40)
と書かれている箇所を発見しました。
listをクリックすると「length:40」と表示されています。
この配列数がforの終わる条件なのとなります。
デバッグは完了したので、停止します。
コード
コードは以下になります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
function OpenWetherApi2() { let CityName = "Osaka,JP" let APIKey = "自身のAPIキー" // URL let URL = Utilities.formatString("https://api.openweathermap.org/data/2.5/forecast?q=%s&appid=%s&lang=ja&units=metric",CityName,APIKey) // FetchApp関数を使用してデータをGETする let getdata = UrlFetchApp.fetch(URL).getContentText(); // getdataをparseする let json_getdata = JSON.parse(getdata); for(let i = 0; i < json_getdata['list'].length; i++ ){ console.log("時間 = " + i + " = " + json_getdata['list'][i]['dt_txt']) console.log("気温 = " + i + " = " + json_getdata['list'][i]['main']['temp']) } } |
解説
前回のコードとほぼ同様ですがw
forの部分だけ。
for(let i = 0; i < json_getdata['list'].length; i++ ){ console.log("時間 = " + i + " = " + json_getdata['list'][i]['dt_txt']) console.log("気温 = " + i + " = " + json_getdata['list'][i]['main']['temp']) }
json_getdata[‘list’].length
のlengthが0-39の「40個」となっているので、
全部で40回ループが実行されます。
ループを10回とか20回で終わらせたい場合は
forのループ中にbreakを記載すればOKです↓
if(i == 10){ break; }
以上です。
最後までお読みいただきありがとうございました!