var api_key_id = '1234567890'
function open(ticker, date) {
ticker="TSLA";
date="2019-01-14";
var url = "https://api.polygon.io/v1/open-close/" + ticker + "/" + date + "?apiKey=" + api_key_id;
var response = UrlFetchApp.fetch(url);
var data = response.getContentText();
Logger.log(data);
}
Когда приведенный выше код запускается, он регистрирует это:
{"status": "OK", "from": "2019-01-14T03: 30: 00Z", "symbol": "TSLA", "open": 342, "high": 343.3, "low": 335.37, "close": 338.93, "afterHours": 336.2148, "volume": 4425458}
Но когда я пытаюсь сделать это:
Logger.log(data.open);
Вывод:
undefined
Является ли переменная "data" не на самом деле объект? Чего мне не хватает?
РЕДАКТИРОВАТЬ: Решение найдено: Анализ результата getContentText (), так как JSON позволил вызвать нужную переменную, см. Ниже. Спасибо Чаксу за то, что указал на это!
var api_key_id = '1234567890'
function open(ticker, date) {
var url = "https://api.polygon.io/v1/open-close/" + ticker + "/" + date + "?apiKey=" + api_key_id;
var response = UrlFetchApp.fetch(url);
var data = response.getContentText();
var json = JSON.parse(data);
Logger.log(json.open);