0

jsonデータをgoogleスクリプトを使用してGoogleスプレッドシートにインポートする際に問題が発生しています。私はJavaの知識を持っていないので、ご質問が少し愚かな場合はごめんなさい! 私はコードに少し慣れているわけではないので、私はVBAを少し書いています。JSONをGoogleシートにインポートするとgetRrangeエラーが発生する

私はライブ交換レートを暗号化交換のAPIから引き出しようとしています。私はそれを別のエクスチェンジのAPIで動作させることができましたが、ここではJSONが少し違っています。

JSON私はGoogleスプレッドシートにこのように見えません。 {"success":true,"message":"","result":{"Bid":0.00011437,"Ask":0.00011447,"Last":0.00011447}} 私はhttps://jsonlint.com/でjsonをチェックして、それを確認します。

私が使用しているコードはこれです。

1 function pullJSON_XRP() { 
2 var ss = SpreadsheetApp.getActiveSpreadsheet(); 
3 var sheets = ss.getSheets(); 
4 var sheet = ss.getActiveSheet(); 
5 Logger.log(sheets) 
6 var url="https://bittrex.com/api/v1.1/public/getticker?market=BTC-XRP"; // JSON call URL 
7 
8 var response = UrlFetchApp.fetch(url); 
9 var dataAll = JSON.parse(response.getContentText()); 
10 var dataSet = dataAll; 
11 Logger.log(dataSet) 
12 var rows = [], 
13 data; 
14 Logger.log(rows) 
15 
16 for (i = 0; i < dataSet.rows; i++) { 
17 data = dataSet[i]; 
18 rows.push(data.result.Bid, data.result.Ask, data.result.Last); //JSON entities 
19 } 
20 
21 dataRange = sheet.getRange(3, 1, rows.length, 3); // 4th Denotes total number of entites 
22 dataRange.setValues(rows); 
23 } 

は、私は、行のエラーメッセージがスウェーデン語であると私はGoogleで私の言語を変更していてもスウェーデンに残りますが、それはのようなものを読み込む21上のエラーを取得:「範囲の座標や大き無効で最初に考えましたで。 dataRange = sheet.getRange(3, 1, rows.length, 3);が何らかの理由で配列をミスマッチしているため、これはでした。私が探しやテストが、無駄に時間を費やしてきました。私は今ちょうどIDS data.Bid, data.Ask, data.Lastを使用して、私の解析されたJSONはrows.push(data.result.Bid, data.result.Ask, data.result.Last);

私が試してみましたで正しく対処されていないと思われますしかし、私はまだ同じエラーが発生します。

どんな助けでも大歓迎です! =)

ありがとうございました!

何卒、

ブライアン

答えて

0

これは簡単な方法です:

function pullJSON_XRP() { 
var ss = SpreadsheetApp.getActiveSpreadsheet(); 
var sheets = ss.getSheets(); 
var sheet = ss.getActiveSheet(); 
var url="https://bittrex.com/api/v1.1/public/getticker?market=BTC-XRP"; // JSON call URL 
var response = UrlFetchApp.fetch(url); 
var dataAll = JSON.parse(response.getContentText()); 
var values=[[ dataAll.result.Bid,dataAll.result.Ask,dataAll.result.Last]] 
sheet.getRange("A3:C3").setValues(values) 
} 
関連する問題