javascript - 尝试使用需要身份验证的 API 使用 Google 脚本从 TDAmeritrade 提取股票报价信息

标签 javascript api authentication curl google-apps-script

我正在使用 TD Ameritrade 的 API 来提取股票行情信息。该脚本需要身份验证才能提取实时数据。 CURL命令如下:

curl -X GET --header "Authorization: "--header "Authorization: Bearer ""https://api.tdameritrade.com/v1/marketdata/AAPL/quotes?apikey= "

我正在使用 Google 脚本从 API 读取数据,进行一些计算,然后将数据写入 Google 表格。下面是用于验证的脚本,它不起作用。请注意,此处未显示我的访问 token 和 API key ,文本由 和 标注。该脚本不给出错误消息,并拉取(延迟的)数据。我可以看出身份验证工作不正常,因为数据被延迟了。使用身份验证在 TD Ameritrade 网站上进行测试会返回实时数据。在我的 PC 上的 DOS 框中运行 CURL 也是如此。

var ticker = "AAPL"
var options = {
    "method" : "GET",
    "Authorization" : "Bearer <access token>"
     }
var calltoAPI = UrlFetchApp.fetch("https://api.tdameritrade.com/v1/marketdata/"+ticker+"/quotes?apikey=<APIkey>",options);

我在这方面还很陌生,如果有任何帮助,我将不胜感激

更新:这是有效的代码

    var ticker = "APPL"

    var headers = {"Authorization":" Bearer <access token>"}
    var options = {"headers":headers}

    var calltoAPI=urlFetchApp.fetch("https://api.tdameritrade.com/v1/marketdata/"+ticker+"/quotes?apikey=<apikey>",options);

最佳答案

  • 您想将以下 curl 命令转换为 Google Apps 脚本。
    • curl -X GET --header "Authorization: "--header "Authorization: Bearer ""https://api.tdameritrade.com/v1/marketdata/AAPL/quotes?apikey="
    • 您已经确认此 curl 命令可以正常工作。

如果我的理解是正确的,这个答案怎么样?当 --header "Authorization: Bearer " 用于 Google Apps Script 时,请将其放在 header 对象中。所以请修改如下。

来自:

var options = {
    "method" : "GET",
    "Authorization" : "Bearer <access token>"
     }

收件人:

var options = {
  "method" : "GET",
  "headers": {"Authorization" : "Bearer <access token>"}
};

引用:

您的 curl 命令和修改后的脚本的请求是相同的。但如果这不起作用,请确认 token 。

关于javascript - 尝试使用需要身份验证的 API 使用 Google 脚本从 TDAmeritrade 提取股票报价信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58945513/

相关文章:

javascript - 如何根据表单输入中输入的内容更改 Div 的值

javascript - Symfony2 - 与 AngularJS 捆绑在一起

c# - 使用嵌套母版页检查身份验证和授权的最佳方法是什么

javascript - 登录错误信息

javascript - react Redux 表单 : form is submiting with old values

javascript - Highcharts + 从 jquery 中的选项设置事件点击

security - 阻止 API "spoofing"或 "hacking"

python - 为什么 Python 请求没有按预期工作

python - 请求 JSON 格式不正确

java - AngularJS浏览器验证提示