Weibo-JS

跳转到: 导航, 搜索

目录

概述

新浪微博Weibo-JS是一个基于Javascript的SDK,包含两部分内容,本页描述基础SDK的相关信息,另外Weibo JS Widget页面将对SDK包中的Widget部分进行细致的说明。

为了使您更好的了解Weibo-JS,我们制作了范例。您可以自由查看,测试。

应用信息修改

为了保证您的应用的安全,在您使用Weibo-JS时,需要您在应用信息页面为该应用选定绑定域名功能,并绑定您的域名,我们将以此域名来判定Weibo-JS API请求来源的合法性,不合法的请求将被拒绝。

绑定域名的操作可以在应用创建页面及编辑页面完成。选择“绑定域名”,填入域名提交即可。

创建跨域文件

如需使用Weibo-JS(JS-SDK),你需要在服务器上放置新浪提供的跨域文件

下载跨域文件(xd.html.zip)

此文件(xd.html)需要被放置在你的站点域名下的某个路径,如 http://yourdoman.com/xd.html ,并保证此URL可用。

注:xd.html文件同运行Javascript SDK的页面需要在同一域下,比如均为abc.yourdomain.com。

引用JavaScript文件

在页面顶端加入如下代码

<script type="text/javascript" src="http://tjs.sjs.sinajs.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: 'APP_KEY',
        xdpath: '跨域文件url(http://yourdomain.com/xd.html)'
    };
    WB.connect.init(cfg);
    WB.client.init(cfg); 
}); 
</script>

Weibo-JS 接口

登陆

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的数据
        }
    }
);

未支持的接口列表

User/statuses/id

Statuses/upload

Statuses/repost

更多

关于更多的widget使用细节参考 Weibo JS Widget

文档更新时间: 2011-06-30