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 相关文章推荐
juqery 学习之五 文档处理 包裹、替换、删除、复制
Feb 11 Javascript
javascript分页代码(当前页码居中)
Sep 20 Javascript
JS获取页面input控件中所有text控件并追加样式属性
Feb 25 Javascript
jQuery中height()方法用法实例
Dec 24 Javascript
简单了解Backbone.js的Model模型以及View视图的源码
Feb 14 Javascript
简单实现jQuery进度条轮播实例代码
Jun 20 Javascript
总结Javascript中数组各种去重的方法
Oct 04 Javascript
详解前端构建工具gulpjs的使用介绍及技巧
Jan 19 Javascript
Bootstrap进度条实现代码解析
Mar 07 Javascript
详解Angular2表单-模板驱动的表单(Template-Driven Forms)
Aug 04 Javascript
实例讲解JS中pop使用方法
Jan 27 Javascript
详解Node.JS模块 process
Aug 31 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
DC动漫人物排行
2020/03/03 欧美动漫
php生成N个不重复的随机数实例
2013/11/12 PHP
php_screw安装使用教程(另一个PHP代码加密实现)
2014/05/29 PHP
PHP获取数组中单列值的方法
2017/06/10 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
ThinkPHP类似AOP思想的参数验证的实现方法
2019/12/18 PHP
JS 判断代码全收集
2009/04/28 Javascript
扩展Jquery插件处理mouseover时内部有子元素时发生样式闪烁
2011/12/08 Javascript
JS如何判断移动端访问设备并解析对应CSS
2013/11/27 Javascript
node.js中的querystring.escape方法使用说明
2014/12/10 Javascript
js实现显示当前状态的导航效果代码
2015/08/28 Javascript
简单实现js选项卡切换效果
2017/02/09 Javascript
JavaScript 完成注册页面表单校验的实例
2017/08/19 Javascript
vue.js异步上传文件前后端实现代码
2017/08/22 Javascript
node.js遍历目录的方法示例
2018/08/01 Javascript
在antd Table中插入可编辑的单元格实例
2020/10/28 Javascript
[45:56]Ti4正赛第一天 VG vs NEWBEE 3
2014/07/19 DOTA
Python 冒泡,选择,插入排序使用实例
2015/02/05 Python
python 网络编程常用代码段
2016/08/28 Python
python判断字符串或者集合是否为空的实例
2019/01/23 Python
python 获取微信好友列表的方法(微信web)
2019/02/21 Python
Python爬虫requests库多种用法实例
2020/05/28 Python
python数据类型强制转换实例详解
2020/06/22 Python
Django实现内容缓存实例方法
2020/06/30 Python
Python爬虫爬取糗事百科段子实例分享
2020/07/31 Python
教你使用Sublime text3搭建Python开发环境及常用插件安装另分享Sublime text3最新激活注册码
2020/11/12 Python
HTML5图片预览实例分享
2014/06/04 HTML / CSS
mui几种页面跳转方式对比总结概括
2017/08/18 HTML / CSS
27个经典Linux面试题及答案,你知道几个?
2013/01/10 面试题
机电一体化大学生求职信
2013/11/08 职场文书
三分钟演讲稿范文
2014/04/24 职场文书
先进党组织事迹材料
2014/12/26 职场文书
班级元旦晚会开幕词
2015/01/29 职场文书
高校自主招生校长推荐信
2015/03/23 职场文书
个人收入证明范本
2015/06/12 职场文书
怎么用Python识别手势数字
2021/06/07 Python