我正在尝试使用Google Apps脚本登录我的经纪人(TD Ameritrade) API。
它们将请求定义为:
请求:
> https://apis.tdameritrade.com/apps/100/LogIn?source=#sourceID#&version=#version
>
> POST DATA
userid=#userid#&password=#password#&source=#sourceID#&version=#version我对REST调用不是很有经验,我尝试过这种方法的几个版本:
function logIn() {
// check if car is reachable
var fetch_string="https://apis.tdameritrade.com/apps/300/LogIn?source=MySourceID#&version=1.0";
var options = {
'method' : 'post',
"headers" : {
"userid" : "MyUser",
"password" : "MyPassword",
"source" : "MySourceID",
"version" : "1.0"
}
};
var response = UrlFetchApp.fetch(fetch_string, options);
var document = XmlService.parse(response)
Logger.log(document);
debugger;
}但是登录总是失败。
我还找到了一个javascript示例,但无法将其与google apps脚本相匹配:
function getData(task){
Source=valIs('SourceID'); User=valIs('Username'); Pass=valIs('Password');
if(Source=='' || User=='' || Pass==''){ alert('Need User Info'); return false; }
url='https://apis.tdameritrade.com/apps/'; src='source='+Source;
Ajax=new XMLHttpRequest();
if(task=='login'){
data=src+'&version=1.0';
url+='100/LogIn?'+data;
data+='&userid='+User+'&password='+Pass;
add('tracking','URL: '+url+'<br>Data: '+data+'<br><br>');
Ajax.open('POST', url, true);
Ajax.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
Ajax.send(data);有没有人能帮我弄清楚谷歌应用脚本post请求的结构?非常感谢您的帮助。
https://stackoverflow.com/questions/47742915
复制相似问题