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 获取和设置Select选项的代码
Feb 07 Javascript
jQuery UI Autocomplete 体验分享
Feb 14 Javascript
让复选框只能选择一项的方法
Oct 08 Javascript
js判断当页面无法回退时关闭网页否则就history.go(-1)
Aug 07 Javascript
javascript实现动态改变层大小的方法
May 14 Javascript
js鼠标点击图片切换效果代码分享
Aug 26 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
May 23 Javascript
微信小程序实现登录页云层漂浮的动画效果
May 05 Javascript
JS实现搜索关键词的智能提示功能
Jul 07 Javascript
详解微信小程序input标签正则初体验
Aug 18 Javascript
vue实现户籍管理系统
May 29 Javascript
详解vue中使用transition和animation的实例代码
Dec 12 Vue.js
动态加载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 discuz 主题表和回帖表的设计
2009/03/13 PHP
php中日期加减法运算实现代码
2011/12/08 PHP
php修改NetBeans默认字体的大小
2013/07/02 PHP
php使用curl发送json格式数据实例
2013/12/17 PHP
Php中使用Select 查询语句的实例
2014/02/19 PHP
php的declare控制符和ticks教程(附示例)
2014/03/21 PHP
php动态变量定义及使用
2015/06/10 PHP
PHP实现获取第一个中文首字母并进行排序的方法
2017/05/09 PHP
ThinkPHP+EasyUI之ComboTree中的会计科目树形菜单实现方法
2017/06/09 PHP
php封装的mongodb操作类代码
2017/08/06 PHP
PHP微商城开源代码实例
2019/03/27 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
容易被忽略的JS脚本特性
2011/09/13 Javascript
Javascript正则控制文本框只能输入整数或浮点数
2014/09/02 Javascript
jQuery仿Flash上下翻动的中英文导航菜单实例
2015/03/10 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
HTML5+jQuery实现搜索智能匹配功能
2017/03/24 jQuery
React学习之事件绑定的几种方法对比
2017/09/24 Javascript
vue项目常用组件和框架结构介绍
2017/12/24 Javascript
Node.js中package.json中库的版本号(~和^)
2019/04/02 Javascript
python 文件和路径操作函数小结
2009/11/23 Python
Python与shell的3种交互方式介绍
2015/04/11 Python
Ubuntu 16.04 LTS中源码安装Python 3.6.0的方法教程
2016/12/27 Python
python学习基础之循环import及import过程
2018/04/22 Python
Python中 CSV格式清洗与转换的实例代码
2019/08/29 Python
python解析多层json操作示例
2019/12/30 Python
爱他美官方海外旗舰店:Aptamil奶粉
2017/12/22 全球购物
人事行政主管岗位职责
2013/12/22 职场文书
擅自离岗检讨书
2014/02/11 职场文书
元旦寄语大全
2014/04/10 职场文书
小学生一分钟演讲稿
2014/08/26 职场文书
出租车拒载检讨书
2015/01/28 职场文书
经理助理岗位职责
2015/02/02 职场文书
大学毕业谢师宴致辞
2015/07/27 职场文书
创业计划书之餐饮馄饨店
2019/07/18 职场文书
Win11运行育碧游戏总是崩溃怎么办 win11玩育碧游戏出现性能崩溃的解决办法
2022/04/06 数码科技