0 votos

Cómo obtener la comilla de las acciones de Yahoo! Finance API en MacOS Shortcuts

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:

  1. Abre la aplicación Atajos
  2. Haga clic en el botón + para crear un nuevo acceso directo
  3. Añadir acción Get contents of URL
  4. Introduzca la URL deseada
  5. Añadir acción Get dictionary from input (que obtiene automáticamente el diccionario de la URL)
  6. Añadir acción Get dictionary value
  7. Sobre el terreno key insertar fact
  8. Añadir Show result que establecerá automáticamente el nombre de la variable en Dictionary Value
  9. Añadir acción Show result
  10. A continuación, haga clic en el botón de reproducción
  11. Autorizar el acceso
  12. 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:

  1. Abre la aplicación Atajos
  2. Haga clic en el botón + para crear un nuevo acceso directo
  3. Añadir acción Get contents of URL
  4. Insertar URL https://query1.finance.yahoo.com/v11/finance/quoteSummary/AAPL
  5. Añadir acción Get dictionary from input (que obtiene automáticamente el diccionario de la URL)
  6. Añadir acción Get dictionary value
  7. Sobre el terreno key insertar financialData
  8. Añadir acción Set variable
  9. Establecer campo Variable Name a financialDataVar
  10. Añadir acción Get dictionary value
  11. Sobre el terreno key insertar currentPrice
  12. Añadir acción Set variable
  13. Establecer campo Variable Name a currentPriceVar
  14. Añadir acción Get dictionary value
  15. Sobre el terreno key insertar raw
  16. Añadir acción Set variable
  17. Establecer campo Variable Name a rawVar
  18. Añadir acción Text
  19. En el campo de texto, añada bajo el otro: financialDataVar , currentPriceVar y rawVar
  20. Añadir acción Show alert
  21. En lugar de Do you want to continue? insertar Text

Al hacer clic en el botón de reproducción aparece una ventana emergente, pero, por desgracia, sin contenido.

Mis preguntas:

  1. ¿Qué pasos debo seguir para obtener la comilla actual de AAPL al pulsar el botón de reproducción?
  2. ¿Hay alguna forma de pedir al usuario que introduzca su propio ticker (por ejemplo, MSFT, o TSLA, etc.)?

0voto

pdeli Puntos 64

Procedimiento 1

Pasos para obtener el precio actual de las acciones de AAPL al hacer clic en el botón de reproducción (una de las formas, al menos):

  1. Abre la aplicación Atajos
  2. Haga clic en el botón + para crear un nuevo acceso directo
  3. Añadir acción Get contents of URL
  4. Insertar URL https://query1.finance.yahoo.com/v1/finance/lookup?query=AAPL*&type=equity
  5. Añadir acción Get dictionary from input (que debería obtener automáticamente el diccionario de la URL)
  6. Añadir acción Get Dictionary Value
  7. Introduzca la siguiente llave: finance
  8. Añadir acción Get Dictionary Value
  9. Introduzca la siguiente llave: result
  10. Añadir acción Get Dictionary Value
  11. Introduzca la siguiente llave: documents
  12. Añadir acción Get Dictionary Value
  13. Introduzca la siguiente llave: regularMarketPrice
  14. Añadir acción Get Dictionary Value
  15. Introduzca la siguiente llave: raw
  16. Añadir acción Set Variable
  17. Inserte un nombre de variable, por ejemplo,: rawShareVar
  18. Añadir acción Show Result
  19. Shortcut debería rellenar automáticamente el Resultado con el último nombre de variable (es decir, rawShareVar )
  20. Cuando pulses por primera vez play (o Cmd-R), Shortcuts te preguntará algo así como: Allow [name of the shortcut] to connect to "query1.finance.yahoo.com"? haga clic en Allow
  21. Aparece una ventana emergente con el precio actual de la acción elegida (en este caso AAPL)
  22. Haga clic en Done para cerrar la ventana emergente.

A continuación se muestra una captura de pantalla del algoritmo: Screenshot of the first algorithm.


Procedimiento 2

Pasos para obtener el precio de cualquier acción preguntando al usuario al pulsar el botón de reproducción (una de las formas, al menos):

  1. Abre la aplicación Atajos
  2. Haga clic en el botón + para crear un nuevo acceso directo
  3. Añadir acción Ask for Input
  4. Compruebe que la acción solicita Text
  5. Sustituir Prompt con Enter a ticker symbol
  6. Añadir acción Set Variable
  7. En el Variable Name escriba algo como tickerVar
  8. Borrar tickerVar insertado automáticamente por la aplicación
  9. Insertar URL https://query1.finance.yahoo.com/v1/finance/lookup?query=AAPL*&type=equity
  10. Dentro de la URL borrar AAPL
  11. Empieza a escribir tickerVar y selecciónelo
  12. Debería verse así: https://query1.finance.yahoo.com/v1/finance/lookup?query=tickerVar*&type=equity
  13. Añadir acción Get dictionary from input (que debería obtener automáticamente el diccionario de la URL)
  14. Añadir acción Get Dictionary Value
  15. Introduzca la siguiente llave: finance
  16. Añadir acción Get Dictionary Value
  17. Introduzca la siguiente llave: result
  18. Añadir acción Get Dictionary Value
  19. Introduzca la siguiente llave: documents
  20. Añadir acción Get Dictionary Value
  21. Introduzca la siguiente llave: regularMarketPrice
  22. Añadir acción Get Dictionary Value
  23. Introduzca la siguiente llave: raw
  24. Añadir acción Set Variable
  25. Inserte un nombre de variable, por ejemplo,: rawTickerVar
  26. Añadir acción Show Result
  27. La aplicación Atajo debería rellenar automáticamente el Resultado con el último nombre de variable (es decir, rawTickerVar )
  28. Cuando pulse por primera vez play (o Cmd-R), Shortcuts le pedirá primero que escriba el nombre del ticker (por ejemplo, MSFT)
  29. Entonces preguntará algo como: Allow [name of the shortcut] to connect to "query1.finance.yahoo.com"? haga clic en Allow
  30. Aparece una ventana emergente con el precio actual de la acción elegida (en este caso AAPL)
  31. Haga clic en Done para cerrar la ventana emergente.

A continuación se muestra una captura de pantalla del algoritmo: Screenshot of the second algorithm.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X