0

ユーザーが作成したすべてのウォッチ リストのリストを取得して、カスタム MVC4 アプリケーションに表示したいと考えています。

ウォッチリスト ID を知っていれば、ユーザーを認証し、ウォッチリスト フィードを取得することもできました。このアプリケーションでは、ユーザーが既存のウォッチリストを選択してフィードを表示するようにします。

4

2 に答える 2

0

Stocktwits のどこからともなく、このドキュメントが非常に役立つことがわかりました。

http://stocktwits.com/developers/docs/signin

フローを開始したら、AJAX 呼び出しを次のようなものに置き換えます。

$.ajax({
        url: "https://api.stocktwits.com/api/2/watchlists.json?callback=?", 
        dataType: 'jsonp',
        timeout: 5000,
        data:{ access_token: token},
        success: function(data) {
           if (data) {
           callback(data);
         }},
        error: function(error){
         //handle error
         }

これでウォッチリストができました。その後、取得したデータを使用するコールバック関数を作成します。

var getWatchlist = function(data){
    if(!data) return undefined;     //Sanity checks are always good!
    if(data.response == undefined) return undefined;

      var postInfo = [];  //A list to put our results on!

  if(data.response.status == "401") { //Represents a bad token. Handle and return
     return;
  }
  var watchlistData = data.watchlists;
  for (var i=0; i<watchlistData.length; i++)
  {
    var watchlistId = watchlistData[i].id;

    var tempInfo = {watchlistId};
    postInfo.push(tempInfo);
  }
return postInfo;    //All of your watchlists!
}

ここから、ここで説明されている同様の関数を使用します。

http://stocktwits.com/developers/docs/api#watchlists-show-docs

$.ajax({          //Note you have to put in the watchlist_id
        url: "https://api.stocktwits.com/api/2/watchlists/show/"+watchlist_id+".json?callback=?", 
        dataType: 'jsonp',
        timeout: 5000,
        data:{ access_token: token},
        success: function(data) {
           if (data) {
           callback(data);
         }},
        error: function(error){
         //handle error
         }

別のコールバックを使用して、同じ種類のことをもう一度行います。

var getWatchlistData = function(data){
    if(!data) return undefined;    //Sanity is still important, for some....
    if(data.response == undefined) return undefined;

     var postInfo = [];  //A list to put our results on!

  if(data.response.status == "401") { //Represents a bad token. Handle and return
     return;
  }
  var watchlistSymbolsData = data.watchlists.symbols;
  for (var i=0; i<watchlistSymbolsData.length; i++)
  {
    var watchlistTicker = watchlistData[i].symbol;
            var watchlistId = watchlistData[i].id;
    var tempInfo = {watchlistTicker, watchlistId};    //You'll probably want some more data here
    postInfo.push(tempInfo);
  }
return postInfo;    //All of your tickers with corresponding ids!
}

AJAX を呼び出す関数を作成し、それらの get 関数の 1 つをコールバックとして渡すだけで、必要なものを表示できるようになります。

于 2013-06-05T22:10:01.450 に答える