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动态插入并立即执行回调函数的方法
Apr 21 Javascript
JQuery点击行tr实现checkBox选中的简单实例
May 26 Javascript
Javascript之Number对象介绍
Jun 07 Javascript
Bootstrap表单布局
Jul 19 Javascript
AngularJS实现使用路由切换视图的方法
Jan 24 Javascript
JS完成画圆圈的小球
Mar 07 Javascript
JS检测是否可以访问公网服务器功能代码
Jun 19 Javascript
vue input输入框模糊查询的示例代码
May 22 Javascript
Vue组件中prop属性使用说明实例代码详解
May 31 Javascript
vue 实现axios拦截、页面跳转和token 验证
Jul 17 Javascript
Vue表单绑定的实例代码(单选按钮,选择框(单选时,多选时,用 v-for 渲染的动态选项)
May 13 Javascript
jquery css实现流程进度条
Mar 26 jQuery
动态加载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
上海地方志办公室-上海电子仪表工业志
2021/03/04 无线电
PHP中防止SQL注入攻击和XSS攻击的两个简单方法
2010/04/15 PHP
利用Memcached在php下实现session机制 替换PHP的原生session支持
2010/08/21 PHP
PHP传参之传值与传址的区别
2015/04/24 PHP
PHP第三方登录―QQ登录实现方法
2017/02/06 PHP
JS 强制设为首页的代码
2009/01/31 Javascript
仿百度的关键词匹配搜索示例
2013/09/25 Javascript
javascript页面动态显示时间变化示例代码
2013/12/18 Javascript
jquery实现翻动fadeIn显示的方法
2015/03/05 Javascript
以Python代码实例展示kNN算法的实际运用
2015/10/26 Javascript
jQuery获取DOM节点实例分析(2种方式)
2015/12/15 Javascript
jQuery中事件与动画的总结分享
2016/05/24 Javascript
ES6中Array.includes()函数的用法
2017/09/20 Javascript
自定义PC微信扫码登录样式写法
2017/12/12 Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
2017/12/13 Javascript
js判断传入时间和当前时间大小实例(超简单)
2018/01/11 Javascript
laydate时间日历插件使用方法详解
2018/11/14 Javascript
利用aardio给python编写图形界面
2017/08/21 Python
Pycharm设置界面全黑的方法
2018/05/23 Python
详解Python中的内建函数,可迭代对象,迭代器
2019/04/29 Python
Python 的AES加密与解密实现
2019/07/09 Python
Python imread、newaxis用法详解
2019/11/04 Python
使用tensorboard可视化loss和acc的实例
2020/01/21 Python
Python random模块制作简易的四位数验证码
2020/02/01 Python
Python文件操作方法详解
2020/02/09 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
2020/11/26 Python
《诚实与信任》教学反思
2014/04/10 职场文书
一帮一活动总结
2014/05/08 职场文书
计算机求职信
2014/07/02 职场文书
项目委托协议书(最新)
2014/09/13 职场文书
教师个人年终总结
2015/02/11 职场文书
庆元旦主持词
2015/07/06 职场文书
2016年保险公众宣传日活动总结
2016/04/05 职场文书
selenium.webdriver中add_argument方法常用参数表
2021/04/08 Python
基于angular实现树形二级表格
2021/10/16 Javascript
天谕手游15杯全调酒配方和调酒券的获得方式
2022/04/06 其他游戏