我想检索用户创建的所有监视列表的列表,以显示在我的自定义 MVC4 应用程序中。
如果我知道 watchlistid,我可以对用户进行身份验证,并且还可以获得监视列表提要。在我们的应用程序中,我们希望用户选择他现有的监视列表来显示提要。
我想检索用户创建的所有监视列表的列表,以显示在我的自定义 MVC4 应用程序中。
如果我知道 watchlistid,我可以对用户进行身份验证,并且还可以获得监视列表提要。在我们的应用程序中,我们希望用户选择他现有的监视列表来显示提要。
您将需要对用户进行身份验证。完成此操作后,您可以使用访问令牌并调用https://api.stocktwits.com/api/2/watchlists.json端点。
这是关于此的文档: http: //stocktwits.com/developers/docs/api#watchlists-index-docs
这将为您提供用户拥有的监视列表列表,然后您可以使用 ID 调用监视列表流。
从 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 函数作为回调传递,您就可以很好地显示您想要的任何内容。