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 相关文章推荐
利用JS延迟加载百度分享代码,提高网页速度
Jul 01 Javascript
JavaScript限定复选框的选择个数示例代码
Aug 25 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
Feb 22 Javascript
点击标签切换和自动切换DIV选项卡
Aug 10 Javascript
每天一篇javascript学习小结(Array数组)
Nov 11 Javascript
Vue + Webpack + Vue-loader学习教程之相关配置篇
Mar 14 Javascript
angularjs select 赋值 ng-options配置方法
Feb 28 Javascript
Js面试算法详解
Apr 08 Javascript
微信小程序登录按钮遮罩浮层效果的实现方法
Dec 16 Javascript
详解关于表格合并span-method方法的补充(表格数据由后台动态返回)
May 21 Javascript
JavaScript Event Loop相关原理解析
Jun 10 Javascript
vue实现移动端H5数字键盘组件使用详解
Aug 25 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 提速工具eAccelerator 配置参数详解
2010/05/16 PHP
PHP操作MySQL事务实例
2014/11/05 PHP
PHP5.2中PDO的简单使用方法
2016/03/25 PHP
CSS+JS构建的图片查看器
2006/07/22 Javascript
JavaScript对象和字串之间的转换实例探讨
2013/04/21 Javascript
利用jquery包将字符串生成二维码图片
2013/09/12 Javascript
javascript删除数组元素并且数组长度减小的简单实例
2014/02/14 Javascript
js(JavaScript)实现TAB标签切换效果的简单实例
2014/02/26 Javascript
一个检测表单数据的JavaScript实例
2014/10/31 Javascript
jQuery实现调整表格单列顺序完整实例
2016/06/20 Javascript
jquery.validate[.unobtrusive]和Bootstrap实现tooltip错误提示问题分析
2016/10/30 Javascript
Javascript 两种刷新方法以及区别和适用范围
2017/01/17 Javascript
javascript表单正则应用
2017/02/04 Javascript
js 监控iframe URL的变化实例代码
2017/07/12 Javascript
深入理解js A*寻路算法原理与具体实现过程
2018/12/13 Javascript
js的对象与函数详解
2019/01/21 Javascript
微信小程序websocket聊天室的实现示例代码
2019/02/12 Javascript
JS中的算法与数据结构之列表(List)实例详解
2019/08/16 Javascript
详解如何修改 node_modules 里的文件
2020/05/22 Javascript
NestJs使用Mongoose对MongoDB操作的方法
2021/02/22 Javascript
phpsir 开发 一个检测百度关键字网站排名的python 程序
2009/09/17 Python
python基础教程之元组操作使用详解
2014/03/25 Python
python实现zencart产品数据导入到magento(python导入数据)
2014/04/03 Python
django 自定义用户user模型的三种方法
2014/11/18 Python
对Python中的@classmethod用法详解
2018/04/21 Python
Django中使用session保持用户登陆连接的例子
2019/08/06 Python
Pytorch之parameters的使用
2019/12/31 Python
用python实现一个简单的验证码
2020/12/09 Python
解决CSS3 transition-delay 属性默认值0不带单位失效的问题
2020/10/29 HTML / CSS
HTML5 embed 标签使用方法介绍
2013/08/13 HTML / CSS
《挑山工》的教学反思
2014/02/16 职场文书
飘柔洗发水广告词
2014/03/14 职场文书
聚美优品励志广告词
2014/03/14 职场文书
六年级作文之家庭作文
2019/12/12 职场文书
MySQL触发器的使用
2021/05/24 MySQL
浅谈Web Storage API的使用
2021/06/23 Javascript