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 相关文章推荐
异步加载script的代码
Jan 12 Javascript
js 幻灯片的实现
Dec 06 Javascript
JS执行删除前的判断代码
Feb 18 Javascript
JavaScript Array对象扩展indexOf()方法
May 09 Javascript
jQuery获取父元素及父节点的方法小结
Apr 14 Javascript
微信小程序实现自定义加载图标功能
Jul 19 Javascript
springMvc 前端用json的方式向后台传递对象数组方法
Aug 07 Javascript
mpvue写一个CPASS小程序的示例
Sep 04 Javascript
Vue强制组件重新渲染的方法讨论
Feb 03 Javascript
HTML元素拖拽功能实现的完整实例
Dec 04 Javascript
用JS创建一个录屏功能
Nov 11 Javascript
JS前端可扩展的低代码UI框架Sunmao使用详解
Jul 23 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
学习YUI.Ext基础第一天
2007/03/10 Javascript
javascript 日期时间函数(经典+完善+实用)
2009/05/27 Javascript
js 获取中文拼音,Select自动匹配字母获取值的代码
2009/09/23 Javascript
JS模拟的QQ面板上的多级可展开的菜单
2009/10/10 Javascript
JavaScript 对象模型 执行模型
2010/10/15 Javascript
JavaScript中的作用域链和闭包
2012/06/30 Javascript
JavaScript高级程序设计 阅读笔记(十七) js事件
2012/08/14 Javascript
javascript ready和load事件的区别示例介绍
2013/08/30 Javascript
script不刷新页面的联动前后代码
2013/09/18 Javascript
Extjs4中的分页应用结合前后台
2013/12/13 Javascript
javascript实现类似百度分享功能的方法
2015/07/27 Javascript
JavaScript实现通过select标签跳转网页的方法
2016/09/29 Javascript
js 性能优化之快速响应的用户界面
2017/02/15 Javascript
重新理解JavaScript的六种继承方式
2017/03/24 Javascript
vue如何搭建多页面多系统应用
2020/06/17 Javascript
Vue如何实现验证码输入交互
2020/12/07 Vue.js
Handtrack.js库实现实时监测手部运动(推荐)
2021/02/08 Javascript
vue项目配置 webpack-obfuscator 进行代码加密混淆的实现
2021/02/26 Vue.js
[01:10:57]Liquid vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
利用Python2下载单张图片与爬取网页图片实例代码
2017/12/25 Python
Python多继承原理与用法示例
2018/08/23 Python
python3学生名片管理v2.0版
2018/11/29 Python
Python线程池模块ThreadPoolExecutor用法分析
2018/12/28 Python
Django 创建/删除用户的示例代码
2019/07/24 Python
为什么说Python可以实现所有的算法
2019/10/04 Python
PyTorch实现AlexNet示例
2020/01/14 Python
python属于跨平台语言码
2020/06/09 Python
潘多拉珠宝美国官方网站:Pandora US
2020/06/18 全球购物
100%法国制造的游戏和玩具:Les Jouets Français
2021/03/02 全球购物
竟聘演讲稿范文
2013/12/31 职场文书
三年级语文教学反思
2014/02/01 职场文书
党员评议思想汇报
2014/10/08 职场文书
写给医生的感谢信
2015/01/22 职场文书
卫生院艾滋病宣传活动总结
2015/05/09 职场文书
员工旷工检讨书
2015/08/15 职场文书
Win11电源已接通但未充电怎么办?Win11电源已接通未充电的解决方法
2022/04/05 数码科技