Estoy intentando crear un acceso directo para MacOS (con la aplicación Shortcuts) que busque algunas comillas bursátiles.
Según esta página web A continuación se explica cómo utilizar la estructura JSON:
- Abre la aplicación Atajos
- Haga clic en el botón
+
para crear un nuevo acceso directo - Añadir acción
Get contents of URL
- Introduzca la URL deseada
- Añadir acción
Get dictionary from input
(que obtiene automáticamente el diccionario de la URL) - Añadir acción
Get dictionary value
- Sobre el terreno
key
insertarfact
- Añadir
Show result
que establecerá automáticamente el nombre de la variable enDictionary Value
- Añadir acción
Show result
- A continuación, haga clic en el botón de reproducción
- Autorizar el acceso
- Aparece un mensaje emergente.
He buscado el aspecto de la API de Yahoo Finanzas gracias a esta otra página web que revela la siguiente estructura de la API:
{
"quoteSummary": {
"result": [
{
"financialData": {
"maxAge": 86400,
"currentPrice": {
"raw": 144.49,
"fmt": "144.49"
},
"targetHighPrice": {
"raw": 214,
"fmt": "214.00"
},
"targetLowPrice": {
"raw": 122,
"fmt": "122.00"
},
"targetMeanPrice": {
"raw": 176.69,
"fmt": "176.69"
},
"targetMedianPrice": {
"raw": 176,
"fmt": "176.00"
},
"recommendationMean": {
"raw": 1.9,
"fmt": "1.90"
},
"recommendationKey": "buy",
"numberOfAnalystOpinions": {
"raw": 41,
"fmt": "41",
"longFmt": "41"
},
"totalCash": {
"raw": 48304001024,
"fmt": "48.3B",
"longFmt": "48,304,001,024"
},
"totalCashPerShare": {
"raw": 3.036,
"fmt": "3.04"
},
"ebitda": {
"raw": 130541002752,
"fmt": "130.54B",
"longFmt": "130,541,002,752"
},
"totalDebt": {
"raw": 132480000000,
"fmt": "132.48B",
"longFmt": "132,480,000,000"
},
"quickRatio": {
"raw": 0.709,
"fmt": "0.71"
},
"currentRatio": {
"raw": 0.879,
"fmt": "0.88"
},
"totalRevenue": {
"raw": 394328014848,
"fmt": "394.33B",
"longFmt": "394,328,014,848"
},
"debtToEquity": {
"raw": 261.446,
"fmt": "261.45"
},
"revenuePerShare": {
"raw": 24.317,
"fmt": "24.32"
},
"returnOnAssets": {
"raw": 0.21214001,
"fmt": "21.21%"
},
"returnOnEquity": {
"raw": 1.75459,
"fmt": "175.46%"
},
"grossProfits": {
"raw": 170782000000,
"fmt": "170.78B",
"longFmt": "170,782,000,000"
},
"freeCashflow": {
"raw": 90215251968,
"fmt": "90.22B",
"longFmt": "90,215,251,968"
},
"operatingCashflow": {
"raw": 122151002112,
"fmt": "122.15B",
"longFmt": "122,151,002,112"
},
"earningsGrowth": {
"raw": 0.048,
"fmt": "4.80%"
},
"revenueGrowth": {
"raw": 0.081,
"fmt": "8.10%"
},
"grossMargins": {
"raw": 0.43310001,
"fmt": "43.31%"
},
"ebitdaMargins": {
"raw": 0.33105,
"fmt": "33.11%"
},
"operatingMargins": {
"raw": 0.30289,
"fmt": "30.29%"
},
"profitMargins": {
"raw": 0.2531,
"fmt": "25.31%"
},
"financialCurrency": "USD"
}
}
],
"error": null
}
}
Y estos son los pasos que he seguido para obtener la valoración actual de las acciones de AAPL:
- Abre la aplicación Atajos
- Haga clic en el botón
+
para crear un nuevo acceso directo - Añadir acción
Get contents of URL
- Insertar URL
https://query1.finance.yahoo.com/v11/finance/quoteSummary/AAPL
- Añadir acción
Get dictionary from input
(que obtiene automáticamente el diccionario de la URL) - Añadir acción
Get dictionary value
- Sobre el terreno
key
insertarfinancialData
- Añadir acción
Set variable
- Establecer campo
Variable Name
afinancialDataVar
- Añadir acción
Get dictionary value
- Sobre el terreno
key
insertarcurrentPrice
- Añadir acción
Set variable
- Establecer campo
Variable Name
acurrentPriceVar
- Añadir acción
Get dictionary value
- Sobre el terreno
key
insertarraw
- Añadir acción
Set variable
- Establecer campo
Variable Name
arawVar
- Añadir acción
Text
- En el campo de texto, añada bajo el otro:
financialDataVar
,currentPriceVar
yrawVar
- Añadir acción
Show alert
- En lugar de
Do you want to continue?
insertarText
Al hacer clic en el botón de reproducción aparece una ventana emergente, pero, por desgracia, sin contenido.
Mis preguntas:
- ¿Qué pasos debo seguir para obtener la comilla actual de AAPL al pulsar el botón de reproducción?
- ¿Hay alguna forma de pedir al usuario que introduzca su propio ticker (por ejemplo, MSFT, o TSLA, etc.)?