0

我想检索用户创建的所有监视列表的列表,以显示在我的自定义 MVC4 应用程序中。

如果我知道 watchlistid,我可以对用户进行身份验证,并且还可以获得监视列表提要。在我们的应用程序中,我们希望用户选择他现有的监视列表来显示提要。

4

2 回答 2

1

您将需要对用户进行身份验证。完成此操作后,您可以使用访问令牌并调用https://api.stocktwits.com/api/2/watchlists.json端点。

这是关于此的文档: http: //stocktwits.com/developers/docs/api#watchlists-index-docs

这将为您提供用户拥有的监视列表列表,然后您可以使用 ID 调用监视列表流。

于 2013-05-31T22:10:27.810 回答
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 函数作为回调传递,您就可以很好地显示您想要的任何内容。

于 2013-06-05T22:10:01.450 回答