JSONP获取Twitter和Facebook文章数的具体步骤


Posted in Javascript onFebruary 24, 2014

原文是使用的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中,但这只是针对单个用户的方式。如果你运行的网站流量较大,你最好选择在服务器端抓取数据并缓存下来,并在一定的时间内自动刷新。

Javascript 相关文章推荐
jQuery实现下拉框左右选择的简单实例
Feb 22 Javascript
jquery选择器排除某个DOM元素的方法(实例演示)
Apr 25 Javascript
功能强大的Bootstrap使用手册(一)
Aug 02 Javascript
JS克隆,属性,数组,对象,函数实例分析
Nov 26 Javascript
详解Vue.js动态绑定class
Dec 20 Javascript
解析JavaScript实现DDoS攻击原理与保护措施
Dec 26 Javascript
js中document.referrer实现移动端返回上一页
Feb 22 Javascript
jquery实现自定义图片裁剪功能【推荐】
Mar 08 Javascript
基于jQuery的表单填充实例
Aug 22 jQuery
Vue 兄弟组件通信的方法(不使用Vuex)
Oct 26 Javascript
解决angularjs中同步执行http请求的方法
Aug 13 Javascript
vue环形进度条组件实例应用
Oct 10 Javascript
动态加载js、css等文件跨iframe实现
Feb 24 #Javascript
js操纵dom生成下拉列表框的方法
Feb 24 #Javascript
js设置function参数默认值(适合没有传参情况)
Feb 24 #Javascript
JS取request值以及自动执行使用示例
Feb 24 #Javascript
减少访问DOM的次数提升javascript性能
Feb 24 #Javascript
createTextRange()的使用示例含文本框选中部分文字内容
Feb 24 #Javascript
JavaScript 实现鼠标拖动元素实例代码
Feb 24 #Javascript
You might like
php静态文件返回304技巧分享
2015/01/06 PHP
CodeIgniter配置之autoload.php自动加载用法分析
2016/01/20 PHP
PHP二维数组实现去除重复项的方法【保留各个键值】
2017/12/21 PHP
laravel5.6 框架操作数据 Eloquent ORM用法示例
2020/01/26 PHP
音乐播放用的的几个函数
2006/09/07 Javascript
js实现的真正的iframe高度自适应(兼容IE,FF,Opera)
2010/03/07 Javascript
js DataSet数据源处理代码
2010/03/29 Javascript
动态加载图片路径 保持JavaScript控件的相对独立性
2010/09/03 Javascript
JavaScript截取字符串的2个函数介绍
2014/08/27 Javascript
jQuery的事件预绑定
2016/12/05 Javascript
简单谈谈Javascript函数中的arguments
2017/02/09 Javascript
javaScript 逻辑运算符使用技巧整理
2017/05/03 Javascript
JavaScript运动框架 解决速度正负取整问题(一)
2017/05/17 Javascript
easyui简介_动力节点Java学院整理
2017/07/14 Javascript
简单的Vue异步组件实例Demo
2017/12/27 Javascript
纯JS实现的读取excel文件内容功能示例【支持所有浏览器】
2018/06/23 Javascript
jQuery实现的简单歌词滚动功能示例
2019/01/07 jQuery
Postman环境变量全局变量使用方法详解
2020/08/13 Javascript
Python搭建HTTP服务器和FTP服务器
2017/03/09 Python
Queue 实现生产者消费者模型(实例讲解)
2017/11/13 Python
详解python 拆包可迭代数据如tuple, list
2017/12/29 Python
Python基于socket模块实现UDP通信功能示例
2018/04/10 Python
Python实现KNN(K-近邻)算法的示例代码
2019/03/05 Python
python实现简易淘宝购物
2019/11/22 Python
python去除删除数据中\u0000\u0001等unicode字符串的代码
2020/03/06 Python
python使用re模块爬取豆瓣Top250电影
2020/10/20 Python
解决pytorch 数据类型报错的问题
2021/03/03 Python
We Fashion荷兰:一家国际时装公司
2018/04/18 全球购物
Groupon荷兰官方网站:高达70%的折扣
2019/11/01 全球购物
车间操作工岗位职责
2013/12/19 职场文书
防邪知识进家庭活动方案
2014/08/26 职场文书
无财产离婚协议书范本
2014/10/28 职场文书
2014年政协委员工作总结
2014/12/01 职场文书
职代会闭幕词
2015/01/28 职场文书
教师节校长致辞
2015/07/31 职场文书
咖啡厅里的创业计划书
2019/08/21 职场文书