Weibo-JS V2

跳转到: 导航, 搜索
(JS widget说明及示例)
(JS widget说明及示例)
第306行: 第306行:
  
 
http://112.jssdk.sinaapp.com/widget/follow.html
 
http://112.jssdk.sinaapp.com/widget/follow.html
 +
 +
===微博名片===
 +
 +
'''widget说明'''
 +
 +
显示用户名片,包括昵称、头像、关注数量、粉丝数量、微博数量、最新微博以及关注按钮功能等,支持单独处理及批量处理两种方式。
 +
 +
'''参数说明'''
 +
 +
id:要显示名片的元素ID。
 +
search:是否为批量处理名片的标识, 为true时会自动搜索指定标签里的内容进行批量替换,同时为匹配内容增加名片事件,为false时仅为单独定义。
 +
 +
'''示例'''
 +
<pre>
 +
Html: 
 +
单独定义:<span id="card" href="http://t.sina.com.cn" wb_screen_name="微博名称" >微博名称</span>
 +
 +
批量定义:
 +
<div id="search">
 +
<a wb_screen_name="flashsoft" href="http://t.sina.com.cn">flashsoft</a>
 +
<a wb_screen_name="微博江湖" href="http://t.sina.com.cn">呵呵</a>
 +
</div>
 +
Script:
 +
WB2.anyWhere(function(W){
 +
W.widget.hoverCard({
 +
id: "card"
 +
});
 +
W.widget.hoverCard({
 +
id: "search",
 +
search: true
 +
});
 +
});
 +
</pre>
 +
 +
 +
 +
<pre>
 +
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",
 +
search: true
 +
}
 +
});
 +
});
 +
</pre>
 +
 +
 +
 +
<pre>
 +
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
 +
}
 +
});
 +
});
 +
</pre>
 +
 +
'''示例:'''
 +
http://112.jssdk.sinaapp.com/widget/hoverCard.html
  
 
==未支持的接口==
 
==未支持的接口==

2011年5月31日 (二) 00:24的版本

目录

概述

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。 search:是否为批量处理名片的标识, 为true时会自动搜索指定标签里的内容进行批量替换,同时为匹配内容增加名片事件,为false时仅为单独定义。

示例

Html:  
单独定义:<span id="card" href="http://t.sina.com.cn" wb_screen_name="微博名称" >微博名称</span>

批量定义:
<div id="search">
	<a wb_screen_name="flashsoft" href="http://t.sina.com.cn">flashsoft</a>
	<a wb_screen_name="微博江湖" href="http://t.sina.com.cn">呵呵</a>
</div>
Script:
WB2.anyWhere(function(W){
W.widget.hoverCard({
	id: "card"
	});
W.widget.hoverCard({
	id: "search",
	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",
		search: true
	}
	});
});

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

未支持的接口

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


User/statuses/id

Statuses/upload

Statuses/repost