[英]How can I list my twitter followers list in WinJS.UI.ListView
我想在WinJS.UI.ListView中列出我所有的Twitter關注者。
WinJS.xhr({
url: "https://api.twitter.com/1/followers/ids.json?cursor=-1&screen_name=" + twitterusername,
responseType: "json"
}).then(
function (xhr) {
var json = JSON.parse(xhr.responseText);
var a = [];
a = json.ids;
//
// now what next?
//
},
function (error) {
myListView.textContent = error;
}
);
我通過json.ids
獲得了所有我的Twitter粉絲ID。 但是接下來是如何找到它們的屏幕名稱和prifile圖片,以及如何將它們與ListView控件綁定。 因為我已經將簡單的靜態數據綁定到ListView中,但是對於此示例,我卻一無所知。
您必須對每個ID再次調用api.twitter.com/1/users/show.json?user_id=json.ids[i]
。
收到所有回調后,您必須創建一個數組,其中包含具有標題,文本和圖片屬性的對象。 之后,只需將其與您的列表綁定即可。
以下代碼是一個示例(未經測試,不知道它是否可以正常運行,但應為您指明正確的方向)
var followersCallback = function(xhr){
var json = JSON.parse(xhr.responseText);
var promises = [];
// make promises for each user id (call to twitter to get picture/name/description)
for (var i = 0; i < json.ids.length; i++){
var promise = WinJS.xhr({
url: "https://api.twitter.com/1/users/show.json?user_id=" + json.ids[i],
responseType: "json"
});
promises.push(promise);
}
var dataArray = [];
// join those promises
WinJs.Promise.join(promises)
.then(function(args){
//when you get callback from all those promises
for (var j = 0; j < args.length; j++){
//not sure if parse is needed
args[j]=JSON.parse(args[j].responseText);
//populate your data array
var obj = {};
obj.title = args[j].name;
obj.picture = args[j].profile_image_url;
obj.text = args[j].description;
dataArray.push(obj);
}
//bind your data to the list
var dataList = new WinJS.Binding.List(dataArray);
});
};
WinJS.xhr({
url: "https://api.twitter.com/1/followers/ids.json?cursor=-1&screen_name=" + twitterusername,
responseType: "json"
}).then(
followersCallback,
function (error) {
myListView.textContent = error;
}
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.