原文是使用的Twitter和Facebook,因?yàn)閲鴥?nèi)被強(qiáng),所以我覺得有用的是里面一個獲取JSONP的那個工具類.
我很頭疼的是,許多流行的 APIs 已經(jīng)要求身份驗(yàn)證才能獲取信息。
既然我可以訪問到這些頁面并取得信息,那為什么我不使用一些簡單的代碼來獲取并跳過驗(yàn)證這一步呢?
我認(rèn)為Twitter和Facebook要求身份驗(yàn)證來獲取文章的數(shù)量,但事實(shí)證明你可以通過JSONP來獲取這些信息。請參考下面的步驟。
The JavaScript
我將使用基本的JavaScript來告訴你如何做到這一點(diǎn):
復(fù)制代碼 代碼如下:
// 獲取文章數(shù)量的封裝對象
var socialGetter = (function() {
/* JSONP: 獲取腳本的工具函數(shù) */
function injectScript(url) {
var script = document.createElement('script');
script.async = true;
script.src = url;
document.body.appendChild(script);
}
return {
getFacebookCount: function(url, callbackName) {
injectScript('https://graph.facebook.com/?id=' + url + '&callback=' + callbackName);
},
getTwitterCount: function(url, callbackName) {
injectScript('http://urls.api.twitter.com/1/urls/count.json?url=' + url + '&callback=' + callbackName);
}
};
})();
// 回調(diào)方法
function twitterCallback(result) {
result.count && console.log('The count is: ', result.count);
}
function facebookCallback(result) {
result.shares && console.log('The count is: ', result.shares);
}
// 調(diào)用
socialGetter.getFacebookCount('http://davidwalsh.name/twitter-facebook-jsonp', 'facebookCallback');
socialGetter.getTwitterCount('http://davidwalsh.name/twitter-facebook-jsonp', 'twitterCallback');
新聞熱點(diǎn)
疑難解答
圖片精選