如何在jquery中获取用户的stocktwit关注列表列表

时间:2013-05-31 04:52:46

标签: jquery stocktwits

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

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

2 个答案:

答案 0 :(得分:1)

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

以下是有关此文档的文档:http://stocktwits.com/developers/docs/api#watchlists-index-docs

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

答案 1 :(得分: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,将其中一个获取函数作为回调函数传递,然后您就可以很好地显示您想要的任何内容。