2017-12-10 8 views
0

Google Apps Scriptを使用してブローカー(TD Ameritrade)APIにログインしようとしています。次のようにGoogle Appsスクリプトを使用してmy amititradeアカウントにログインできない

は、彼らは要求を定義します。

要求:

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; 
} 

でもログイン:私は非常にREST呼び出しで経験し、このアプローチのいくつかのバージョンを試したわけではない

> https://apis.tdameritrade.com/apps/100/LogIn?source=#sourceID#&version=#version 
> 
> POST DATA 
userid=#userid#&password=#password#&source=#sourceID#&version=#version 

常に失敗します。

また、私はjavascriptの例を見つけましたが、Googleに一致しないことは、スクリプトをアプリ:

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); 

誰もがグーグルのsctructureで私を助けることができるスクリプトPOSTリクエストをアプリ?あなたの助けは非常に高く評価されています。

+0

アイデアをお持ちの方?基本的に私が探しているのは、上記の関数logIn()を上にあるAPI呼び出しの要件に合わせるためにどのように構造化するかのヒントです。私はオプションの構造が正しくないので失敗すると思う。しかし、私はそれを正しく構造化する方法を見つけることができません。 あなたのヒントをありがとう。 –

答えて

0

同じ問題が発生しています。あなたの "ソース"値を動作させるにはDEMOでなければなりません。

これはすぐに廃止される古いAPIです。 https://developer.tdameritrade.comをご覧ください。アカウントを登録して新しいAPIを使用すると、あなたは行き​​たいです!

+0

うわー!どうもありがとうございました!数日後に試してみましょう。 –

関連する問題