国产探花免费观看_亚洲丰满少妇自慰呻吟_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中,但這只是針對單個用戶的方式。如果你運行的網站流量較大,你最好選擇在服務器端抓取數據并緩存下來,并在一定的時間內自動刷新。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 舞钢市| 富平县| 安义县| 阿拉善右旗| 本溪市| 丰县| 白朗县| 朔州市| 会同县| 抚顺市| 佛冈县| 津市市| 沙河市| 灵石县| 常德市| 靖安县| 海城市| 岑溪市| 平邑县| 乐东| 建宁县| 定西市| 社旗县| 晋宁县| 大连市| 宁安市| 格尔木市| 盱眙县| 木里| 江永县| 托克托县| 宁化县| 宕昌县| 池州市| 北票市| 万源市| 东丽区| 佳木斯市| 江安县| 焉耆| 安平县|