Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 试图从TDAmeritrade中提取股票报价信息,使用需要验证的API的Google脚本_Javascript_Api_Authentication_Curl_Google Apps Script - Fatal编程技术网

Javascript 试图从TDAmeritrade中提取股票报价信息,使用需要验证的API的Google脚本

Javascript 试图从TDAmeritrade中提取股票报价信息,使用需要验证的API的Google脚本,javascript,api,authentication,curl,google-apps-script,Javascript,Api,Authentication,Curl,Google Apps Script,我正在使用TD Ameritrade的API获取股票行情信息。脚本需要身份验证才能提取实时数据。CURL命令如下所示: curl-X GET--header“Authorization:”--header“Authorization:Bearer”“” 我正在使用Google脚本从API读取数据,进行一些计算,然后将数据写入Google工作表。下面是要验证的脚本,但它不起作用。请注意,此处不显示我的访问令牌和APIkeys,文本由和表示。该脚本不提供错误消息,并提取(延迟)数据。我可以看出身份验

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

curl-X GET--header“Authorization:”--header“Authorization:Bearer”“”

我正在使用Google脚本从API读取数据,进行一些计算,然后将数据写入Google工作表。下面是要验证的脚本,但它不起作用。请注意,此处不显示我的访问令牌和APIkeys,文本由和表示。该脚本不提供错误消息,并提取(延迟)数据。我可以看出身份验证工作不正常,因为数据延迟了。通过身份验证在TD Ameritrade网站上测试会返回实时数据。在我的电脑上的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=“AAPL”
变量选项={
“方法”:“获取”,
“授权”:“持票人”
}
var calltoAPI=UrlFetchApp.fetch(“https://api.tdameritrade.com/v1/marketdata/“+ticker+”/quotes?apikey=”,选项);
我对这方面还不太熟悉,如果有任何帮助,我将不胜感激

更新:以下是有效的代码

    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);
var ticker=“APPL”
var headers={“授权”:“承载者”}
var options={“headers”:headers}
var calltoAPI=urlFetchApp.fetch(“https://api.tdameritrade.com/v1/marketdata/“+ticker+”/quotes?apikey=”,选项);
  • 您希望将以下curl命令转换为Google Apps脚本。
    • curl-X GET--header“Authorization:”--header“Authorization:Bearer”https://api.tdameritrade.com/v1/marketdata/AAPL/quotes?apikey=“
    • 您已经确认此curl命令工作正常
如果我的理解是正确的,那么这个答案呢?当Google Apps脚本使用
--header“Authorization:Bearer”
时,请将其放在header对象中。因此,请修改如下

发件人:
var选项={
“方法”:“获取”,
“授权”:“持票人”


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

谢谢您的帮助。我将实际起作用的代码放在了原始帖子中。@RollsRoyse感谢您的回复。我无法理解您的回复。如果我的回答对您的情况没有帮助,请好的,我得向你道歉。我能问一下吗?你的建议对Tanaike很有帮助。我是新来的,不知道如何在评论中添加代码,所以我更新了原始帖子,加入了工作代码。@RollsRoyse欢迎。谢谢你让我知道。我很高兴你的问题得到了解决。如果你的问题得到解决,请点击“接受b”其他人谁也有同样的问题,你也可以把你的问题作为一个可以解决的问题。我认为你的问题和解决方案会对他们有用。如果你没有找到按钮,请告诉我。考虑回答。
var options = {
    "method" : "GET",
    "Authorization" : "Bearer <access token>"
     }
var options = {
  "method" : "GET",
  "headers": {"Authorization" : "Bearer <access token>"}
};