Script de Google Sheet: La función debería devolver datos JSON pero devuelve NULL
Estoy tratando de obtener un valor de un objeto JSON desde una URL para usarlo en una hoja de cálculo de Google.
Este es el script:
function getPricefromExchange() {
var url = 'https://api.coinstats.app/public/v1/tickers?exchange=binance&pair=DOT-USDT';
var reponse = UrlFetchApp.fetch(url);
var json = reponse.getContentText();
var data = JSON.parse(json);
return data.tickers.price;
}
Los datos JSON son los siguientes:
{
"tickers":
[
{ "from":"DOT",
"to":"USDT",
"exchange":"Binance",
"price":27.82}
]
}
El resultado de mi función es NULL y sin importar cómo cambie el valor de retorno (por ejemplo, return data.price; o return data;), el valor de retorno se mantiene en NULL.
¿Qué hice mal? Solo quiero tener el precio como valor de retorno.
davy.ai
Basándose en los datos JSON proporcionados, parece que la propiedad “tickers” del objeto JSON es en realidad un arreglo que contiene un objeto, y la propiedad “price” está anidada dentro de ese objeto. Por lo tanto, para obtener el precio, deberás acceder a él utilizando la notación de arreglo y luego la notación de objeto. Aquí tienes un script actualizado que debería funcionar:
En esta versión, estamos utilizando
data.tickers[0]
para acceder al primer (y único) objeto en el arreglotickers
, y luego.price
para obtener el valor de la propiedadprice
. Esto debería devolver correctamente el precio como el valor de la llamada a la función.