国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JSONP獲取Twitter和Facebook文章數的具體步驟

2019-11-20 21:03:02
字體:
來源:轉載
供稿:網友
原文是使用的Twitter和Facebook,因為國內被強,所以我覺得有用的是里面一個獲取JSONP的那個工具類.

我很頭疼的是,許多流行的 APIs 已經要求身份驗證才能獲取信息。

既然我可以訪問到這些頁面并取得信息,那為什么我不使用一些簡單的代碼來獲取并跳過驗證這一步呢?
我認為Twitter和Facebook要求身份驗證來獲取文章的數量,但事實證明你可以通過JSONP來獲取這些信息。請參考下面的步驟。

The JavaScript

我將使用基本的JavaScript來告訴你如何做到這一點:
復制代碼 代碼如下:

// 獲取文章數量的封裝對象
var socialGetter = (function() {
/* JSONP: 獲取腳本的工具函數 */
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);
}
};
})();

// 回調方法
function twitterCallback(result) {
result.count && console.log('The count is: ', result.count);
}
function facebookCallback(result) {
result.shares && console.log('The count is: ', result.shares);
}

// 調用
socialGetter.getFacebookCount('http://davidwalsh.name/twitter-facebook-jsonp', 'facebookCallback');
socialGetter.getTwitterCount('http://davidwalsh.name/twitter-facebook-jsonp', 'twitterCallback');

因為有眾多輕量級的 micro-frameworks來處理JSONP,所以本文最重要的部分可能是獲取信息的url了。根據需要和習慣選擇你的JSONP工具!

Twitter和Facebook對于這些請求肯定有數量和頻率上的限制,所以如果你的網站訪問量很大,則JSONP很可能會被攔截或屏蔽. 一種快速的解決方案是將文章數量信息存儲在sessionStorage中,但這只是針對單個用戶的方式。如果你運行的網站流量較大,你最好選擇在服務器端抓取數據并緩存下來,并在一定的時間內自動刷新。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 泾源县| 余庆县| 玉溪市| 崇信县| 太湖县| 崇州市| 宜章县| 绥化市| 冷水江市| 呼伦贝尔市| 毕节市| 汕头市| 鹤庆县| 晋州市| 灵川县| 高台县| 长泰县| 长沙市| 凤凰县| 安徽省| 六枝特区| 新安县| 宿松县| 唐山市| 那坡县| 杭州市| 阳高县| 海兴县| 镇沅| 咸宁市| 克东县| 青河县| 吉安市| 博罗县| 定西市| 北京市| 玉山县| 临泉县| 勃利县| 中西区| 府谷县|