Weibo-JS
目录 |
概述
新浪微博Javascript SDK简称JS-SDK,包含两部分内容,本页描述基础SDK的相关信息,另外Javascript SDK Widget页面将对SDK包中的Widget部分进行细致的说明。
为了使您更好的了解JS-SDK,我们制作了范例。您可以自由查看,测试。
应用信息修改
为了保证您的应用的安全,在您使用JS-SDK时,需要您在应用信息页面为该应用绑定一个域名,我们将以此域名来判定JS-SDK API请求来源的合法性,不合法的请求将被拒绝。
绑定域名的操作可以在应用创建页面及编辑页面完成。选择使用JS-SDK,填入域名提交即可。
创建跨域文件
如需使用Javacript SDK(JS-SDK),你需要在服务器上放置新浪提供的跨域文件
此文件(xd.html)需要被放置在你的站点域名下的某个路径,如 http://yourdoman.com/xd.html ,并保证此URL可用。
注:xd.html文件同运行Javascript SDK的页面需要在同一域下,比如均为abc.yourdomain.com。
引用JavaScript文件
在页面顶端加入如下代码
<script type="text/javascript" src="http://js.wcdn.cn/t3/platform/js/api/wb.js" charset="utf-8" ></script>
初始化JavaScript Client
在页面的</body>后,加入下面的初始化代码。
<script type="text/javascript"> WB.core.load(['connect', 'client'], function() { var cfg = { key: 'API_KEY', xdpath: '跨域文件url(http://yourdomain.com/xd.html)' }; WB.connect.init(cfg); WB.client.init(cfg); }); </script>
JavaScript SDK 接口
登陆
WB.connect.login(function() { //callBack function });
退出
WB.connect.logout(function() { //callBack function });
checkLogin
/* * 检查登录情况 * @return {Boolean} 是否已经使用OAuth登录,已登录返回true,未登录返回false */ WB.connect.checkLogin();
waitReady
/** * 检查登录情况,如果登录则执行函数,否则把函数缓存起来 * @param {Function} oFunc 函数引用 * @param {Boolean} bStart 是否插入到最开始位置 */ WB.connect.waitReady(oFunc, bStart);
loginReady
/** * 登录完毕后续的处理动作,会存储下anywhereToken便于下次调用 * 执行堆栈中的函数队列 * 关闭当前窗口 */ WB.connect.loginReady();
命令解析
/** * @param {String} sMethod 传递给API的命令URI * @param {Function} oCallBack API返回数据后的回调函数 * @param {Object} oArgs 传递给API的参数对象 * @param {Object} oOpts 请求API的时候的类型 **/ WB.connect.parseCMD(sMethod, oCallBack, oArgs, oOpts);
范例
获取评论列表
WB.client.parseCMD( "/statuses/comments.json", function(sResult, bStatus) { if(bStatus == true){ alert(sResult); } }, { userid : 12345678 }, { method: 'post' } );
根据微博ID和用户ID得到单条微博
sMethod "/ 中需要将$userid、$id替换成对应的值
WB.client.parseCMD( "#{userid}/statuses/#{id}.json",//$userid $id会自动替换 function(sResult, bStatus) { if(bStatus == true){ //获取到id为107241523的用户的微博id为123的数据 } }, { userid : 107241523, id : 123 } );
或者
WB.client.parseCMD( "/107241523/statuses/123.json", function(sResult, bStatus) { if(bStatus == true){ //获取到id为107241523的用户的微博id为123的数据 } } );