Weibo-JS V2
目录 |
概述
JS SDK for OAuth2.0是线上JS SDK的升级版本,它较之前版本有较大改变:
- 它去掉了部署在第三方的xd.html跨域文件,使开发者开发使用更加简单方便。
- Appkey的传递方式由原来的json方式改变为通过参数传递方式。
- 为兼容之前JSSDK,该版JSSDK的命名空间由原来的WB改变为WB2。
- 该版本同时将Js widget同时内置其中,用户无需自已再去单独引用JS和CSS,只需调用相应的js widget方法即可。
- 支持通过版本号调用js widget,以便不同开发者不同的需要。
下面我们来一起体验一下这些特性。
应用信息修改
为了保证您的应用的安全,在您使用Weibo-JS时,需要您在应用信息页面为该应用选定绑定域名功能,并绑定您的域名,我们将以此域名来判定Weibo-JS API请求来源的合法性,不合法的请求将被拒绝。
绑定域名的操作可以在应用创建页面及编辑页面完成。选择“绑定域名”,填入域名提交即可。
引用JSSDK JavaScript文件
在页面顶端加入如下代码
<script src=" http://tjs.sjs.sinajs.cn/open/api/js/wb.js?appkey=3168919025" type="text/javascript" charset="utf-8"></script>
参数说明
appkey:对应应用的App Key,必填。
JS SDK公开方法及说明
WB2.login(callback)
函数说明
微博登录认证功能。
参数说明
callback: 可选,登录后执行的回调函数。
返回值
无
示例
WB2.login(function(){ //callback function });
WB2.logout(callback)
函数说明
退出微博登录功能。
参数说明
callback: 可选,退出登录后执行的回调函数。
返回值
无
示例
WB2.logout(function(){ //callback function });
WB2.checkLogin()
函数说明
检查是否已经登录,已登录返回true,未登录返回false。
参数说明
无。
返回值
true:已登录; false:未登录。
示例
WB2.checkLogin();
WB2.anyWhere(callback)
函数说明
第三方与微博API进行数据交互及调用内置widget的入口函数。
参数说明
callback:必选回调函数,需指定一个形参W。
可以通过形参直接调用 widget 或者 parseCMD 直接读取开放平台API接口。
具体的调用方式见下文对 parseCMD 及 widget 调用的说明。
示例
WB2.anyWhere(function(W){ W.parseCMD("/statuses/friends.json", function(sResult, bStatus){ alert(sResult); },{ method: 'post' }); });
parseCMD(sUri, oCallBack, oArgs, oOpts)
函数说明
第三方与开放平台API接口进行数据请求的函数,必须在WB2.anyWhere中通过W对象调用。
参数说明
sUri:必选,传递给API的命令URI。
oCallBack:必选,API返回数据后的回调函数。
oArgs:可选还是必选,根据API的定义,传递给API的参数对象。
oOpts:可选,请求API的时候的类型,默认是 POST 方式。
示例
WB2.anyWhere(function(W){ // 获取评论列表 W.parseCMD("/statuses/comments.json", function(sResult, bStatus){ if(bStatus == true) { alert(sResult); } },{ userid : 12345678 },{ method: 'post' }); });
JS widget说明及示例
微博Js widget调用的两种方式
调用说明
JS SDK for Oauth2.0支持两种 widget调用方式:
第一种是使用widget名直接调用方式,例如:
WB2.anyWhere(function(W){ W.widget.hoverCard({ id: "card" }); });
第二种调用方式可以通过指定版本号方式调用自己所需版本的Js widget,目前Js widget的版本均为1.0,如果Js widget升级后的版本号会在http://open.weibo.com上公开,同时可支持链式调用,如W.widget.load({...}).load({...}).load({...})。
参数说明
module: widget模块名称,如:connectButton,selector,hoverCard等。
version : js widget版本号,如:1.0,1.1…,2.0等,目前均为1.0。
option : js widget所需的参数,同上述示例。
示例
请参考:微博名片
微博连接按钮
widget说明
第三方与微博进行连接的按钮,可实现登录与退出功能。
参数说明
id:连接按钮元素ID,必填。 callback:回调函数对象,参数说明如下, login: 登录后执行的回调函数; logout: 退出登录后执行的回调函数;
示例
Html:<span id="wb_connect_btn"></span> Script: WB2.anyWhere(function(W){ W.widget.connectButton({ id: "wb_connect_btn", callback : { login:function(o){ alert(o.screen_name) }, logout:function(){ alert('logout'); } } }); }); 或 WB2.anyWhere(function(W){ W.widget.load({ 'module' : 'connectButton', 'version' : '1.0', 'option' : { id: "wb_connect_btn", callback : { login:function(o){ alert(o.screen_name) }, logout:function(){ alert('logout'); } } } }); });
示例:
http://112.jssdk.sinaapp.com/widget/login.html
微博关注按钮
widget说明
可实现用户之间的关注功能。
参数说明
uid:用户UID。 id:关注按钮元素ID。
示例
Html: <span id="wb_follow_btn"></span> <span id="wb_follow_btn1"></span> Script: WB2.anyWhere(function(W){ W.widget.followButton({ uid: 1266321801, id: "wb_follow_btn" }); W.widget.followButton({ uid: 1288915263, id: "wb_follow_btn1" }); }); 或 WB2.anyWhere(function(W){ W.widget.load({ 'module' : 'followButton', 'version' : '1.0', 'option' : { uid: 1266321801, id: "wb_follow_btn" } }); W.widget.load({ 'module' : 'followButton', 'version' : '1.0', 'option' : { uid: 1288915263, id: "wb_follow_btn1" } }); });
示例:
http://112.jssdk.sinaapp.com/widget/follow.html
未支持的接口
Jssdk目前暂不支持以下API接口: