萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> JSONP獲取Twitter和Facebook文章數的具體步驟

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

 這篇文章主要介紹了JSONP獲取Twitter和Facebook文章數的方法,需要的朋友可以參考下

原文是使用的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中,但這只是針對單個用戶的方式。如果你運行的網站流量較大,你最好選擇在服務器端抓取數據並緩存下來,並在一定的時間內自動刷新。   
copyright © 萬盛學電腦網 all rights reserved