Weibo-JS V2

跳转到: 导航, 搜索
(JS widget说明及示例)
(微博名片)
第316行: 第316行:
  
 
id:要显示名片的元素ID。
 
id:要显示名片的元素ID。
search:是否为批量处理名片的标识, 为true时会自动搜索指定标签里的内容进行批量替换,同时为匹配内容增加名片事件,为false时仅为单独定义。
+
 
 +
tag:要处理的标签名称,如'a', 'span'等,默认为'a',即只对a标签进行处理(其他标签不做处理),选填。
 +
 
 +
search:是否为批量处理名片的标识, 为true时会自动识别指定标签里“@+昵称”,并进行批量替换,也可将指定标签里含有“wb_user_id='132465789'”属性的元素,增加名片事件,为false时仅为单独定义。
  
 
'''示例'''
 
'''示例'''
 
<pre>
 
<pre>
 
Html:   
 
Html:   
单独定义:<span id="card" href="http://t.sina.com.cn" wb_screen_name="微博名称" >微博名称</span>
+
 
 +
单独定义:<span id="card" href=" http://weibo.com " wb_screen_name="微博名称" >微博名称</span>
 +
<a id="wb_uid" wb_user_id="1052981072" href="http://www.woiweb.net" >woiweb</a>
  
 
批量定义:
 
批量定义:
 
<div id="search">
 
<div id="search">
<a wb_screen_name="flashsoft" href="http://t.sina.com.cn">flashsoft</a>
+
<a wb_screen_name="flashsoft" href="http://weibo.com">flashsoft</a>
<a wb_screen_name="微博江湖" href="http://t.sina.com.cn">呵呵</a>
+
@woiweb
 
</div>
 
</div>
 +
<div id="weibo_uid_area">
 +
<a href="http://www.woiweb.net" wb_user_id="1052981072">woiweb</a>
 +
<span wb_user_id="1639733600">金山</span>
 +
</div>
 +
 
Script:
 
Script:
 +
 
WB2.anyWhere(function(W){
 
WB2.anyWhere(function(W){
 
W.widget.hoverCard({
 
W.widget.hoverCard({
第337行: 第348行:
 
search: true
 
search: true
 
});  
 
});  
 +
W.widget.hoverCard({
 +
id: "wb_uid"
 +
});
 +
W.widget.hoverCard({
 +
id: "weibo_uid_area",
 +
tag: "span",
 +
search: true
 +
});
 
});
 
});
</pre>
 
  
 
 
  
<pre>
 
 
WB2.anyWhere(function(W){
 
WB2.anyWhere(function(W){
 
W.widget.load({
 
W.widget.load({
第357行: 第374行:
 
'option' : {
 
'option' : {
 
id: "search",
 
id: "search",
search: true
 
}
 
});
 
});
 
</pre>
 
 
 
 
  
<pre>
 
 
WB2.anyWhere(function(W){
 
WB2.anyWhere(function(W){
 
W.widget.load({
 
W.widget.load({

2011年6月10日 (五) 10:48的版本

目录

概述

JS SDK for OAuth2.0是线上JS SDK的升级版本,它较之前版本有较大改变:

  1. 它去掉了部署在第三方的xd.html跨域文件,使开发者开发使用更加简单方便。
  2. Appkey的传递方式由原来的json方式改变为通过参数传递方式。
  3. 为兼容之前JSSDK,该版JSSDK的命名空间由原来的WB改变为WB2。
  4. 该版本同时将Js widget同时内置其中,用户无需自已再去单独引用JS和CSS,只需调用相应的js widget方法即可。
  5. 支持通过版本号调用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

微博名片

widget说明

显示用户名片,包括昵称、头像、关注数量、粉丝数量、微博数量、最新微博以及关注按钮功能等,支持单独处理及批量处理两种方式。

参数说明

id:要显示名片的元素ID。

tag:要处理的标签名称,如'a', 'span'等,默认为'a',即只对a标签进行处理(其他标签不做处理),选填。

search:是否为批量处理名片的标识, 为true时会自动识别指定标签里“@+昵称”,并进行批量替换,也可将指定标签里含有“wb_user_id='132465789'”属性的元素,增加名片事件,为false时仅为单独定义。

示例

Html:  

单独定义:<span id="card" href=" http://weibo.com " wb_screen_name="微博名称" >微博名称</span>
<a id="wb_uid" wb_user_id="1052981072" href="http://www.woiweb.net" >woiweb</a>

批量定义:
<div id="search">
	<a wb_screen_name="flashsoft" href="http://weibo.com">flashsoft</a>
	@woiweb
</div>
<div id="weibo_uid_area">
	<a href="http://www.woiweb.net" wb_user_id="1052981072">woiweb</a>
	<span wb_user_id="1639733600">金山</span>
</div>

Script:

WB2.anyWhere(function(W){
W.widget.hoverCard({
	id: "card"
	});
W.widget.hoverCard({
	id: "search",
	search: true
	}); 
W.widget.hoverCard({
		id: "wb_uid"
	});	
	W.widget.hoverCard({
		id: "weibo_uid_area",
		tag: "span",
		search: true
});
});

或

WB2.anyWhere(function(W){
W.widget.load({
'module' : 'hoverCard',
'version' : '1.0',
'option' : {
		id: "card"
	}
	});
	
W.widget.load({
'module' : 'hoverCard',
'version' : '1.0',
'option' : {
		id: "search",
或

WB2.anyWhere(function(W){
W.widget.load({
'module' : 'hoverCard',
'version' : '1.0',
'option' : {
		id: "card"
	}
	}).load({
'module' : 'hoverCard',
'version' : '1.0',
'option' : {
		id: "search",
		search: true
	}
	});
});

示例: http://112.jssdk.sinaapp.com/widget/hoverCard.html

微博发布器

widget说明

弹出微博发布器,发布微博。

参数说明

无。

示例

Html:  <a href="javascript:;" onclick="pub();return false;">发表微博</a>
Script:
function pub(){
WB2.anyWhere(function(W){
W.widget.publish();
});
}

WB2.anyWhere(function(W){
W.widget.load({
'module' : 'publish',
'version' : '1.0'
	});
});

示例:

http://112.jssdk.sinaapp.com/widget/publish.html


微博好友选择器

widget说明

一个包括我关注的人和我的粉丝的好友选择器,可单选和全选,选择后点击确定即可得到已选择的好友的信息。

参数说明

id : 用户选择器触发元素ID。 title : 好友选择器标题。 callback : 选择完成点击确定后执行的回调函数,参数为选择好友的信息数组。

Html:  <input id="but" type="button" value=" 显示选择器 " />
Script:
//回调函数,返回选择结果 
function cbk(data){
//do something.
}
WB2.anyWhere(function(W){
W.widget.selector({
	id : "but",
	title: "好友选择器标题",
	callback : cbk
});	
});

WB2.anyWhere(function(W){
W.widget.load({
'module' : 'selector',
'version' : '1.0',
'option' : {
id : "but",
		title: "好友选择器标题",
		callback : cbk
	}
	});
});


示例:

http://112.jssdk.sinaapp.com/widget/selector.html

未支持的接口

Jssdk目前暂不支持以下API接口:


User/statuses/id

Statuses/upload

Statuses/repost