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与自动伸缩图片 自动缩小图片的多浏览器兼容的方法总结
Mar 12 Javascript
jQuery select的操作实现代码
May 06 Javascript
jQuery Jcrop插件实现图片选取功能
Nov 23 Javascript
html向js方法传递参数具体实现
Aug 08 Javascript
Javascript写入txt和读取txt文件示例
Feb 12 Javascript
JS建造者模式基本用法实例分析
Jun 30 Javascript
bootstrap下拉列表与输入框组结合的样式调整
Oct 08 Javascript
给Easyui-Datebox设置隐藏或者不可用的解决方法
May 26 Javascript
vuex actions传递多参数的处理方法
Sep 18 Javascript
解决vue keep-alive 数据更新的问题
Sep 21 Javascript
微信小程序使用字体图标的方法
May 23 Javascript
js刷新页面location.reload()用法详解
Dec 09 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_Flame(Version:Progress)的原代码
2006/10/09 PHP
php服务器的系统详解
2019/10/12 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
基于JQuery模仿苹果桌面的Dock效果(初级版)
2012/10/15 Javascript
cookie在javascript中的使用技巧以及隐私在服务器端的设置
2012/12/03 Javascript
jQuery prev ~ siblings选择器使用介绍
2013/08/09 Javascript
jquery设置text的值示例(设置文本框 DIV 表单值)
2014/01/06 Javascript
用javascript读取xml文件读取节点数据
2014/08/12 Javascript
利用jQuery实现CheckBox全选/全不选/反选的简单代码
2016/05/31 Javascript
JS识别浏览器类型(电脑浏览器和手机浏览器)
2016/11/18 Javascript
原生js实现水平方向无缝滚动
2017/01/10 Javascript
JavaScript 实现 Tab 点击切换实例代码
2017/03/25 Javascript
NodeJs使用Mysql模块实现事务处理实例
2017/05/31 NodeJs
运用jQuery写的验证表单(实例讲解)
2017/07/06 jQuery
jQuery判断网页是否已经滚动到浏览器底部的实现方法
2017/10/27 jQuery
nodeJs的安装与npm全局环境变量的配置详解
2020/01/06 NodeJs
Jquery ajax书写方法代码实例解析
2020/06/12 jQuery
Python入门篇之字符串
2014/10/17 Python
Python循环中else,break和continue的用法实例详解
2019/07/11 Python
Pandas时间序列:重采样及频率转换方式
2019/12/26 Python
Python chardet库识别编码原理解析
2020/02/18 Python
python能开发游戏吗
2020/06/11 Python
一文详述 Python 中的 property 语法
2020/09/01 Python
英国评分最高的女性剃须刀订阅盒:FFS Beauty
2018/01/25 全球购物
Sasa莎莎海外旗舰店:香港莎莎美妆平台
2018/03/21 全球购物
体育教育专业自荐信范文
2013/12/20 职场文书
优秀班干部事迹材料
2014/01/26 职场文书
语文高效课堂实施方案
2014/05/03 职场文书
医学检验专业自荐信
2014/09/18 职场文书
2014年防汛工作总结
2014/12/08 职场文书
公司租车协议书
2015/01/29 职场文书
小学母亲节活动总结
2015/02/10 职场文书
2015新学期校长寄语(3篇)
2015/03/25 职场文书
体育教师研修感悟
2015/11/18 职场文书
Redis 持久化 RDB 与 AOF的执行过程
2021/11/07 Redis
详解Golang如何实现支持随机删除元素的堆
2022/09/23 Python