我想检索用户创建的所有观察列表的列表,以便在我的自定义MVC4应用程序中显示。
我可以对用户进行身份验证,如果我知道watchlistid,也可以获取监视列表。在我们的应用程序中,我们希望用户选择他现有的监视列表来显示提要。
答案 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,将其中一个获取函数作为回调函数传递,然后您就可以很好地显示您想要的任何内容。