首页 > 代码库 > 腾讯微博java(android)sdk新增微博api详细介绍

腾讯微博java(android)sdk新增微博api详细介绍

本文主要介绍腾讯微博android sdk中新增微博有关的8个接口,以及使用的示例代码

注意:以下所有的api示例代码都需要先新建QqTSdkService类对象qqTSdkService并初始化,见sdk使用总介绍

 

1、8个接口介绍

这8个接口包含了腾讯微博两部分api

1.1、微博相关中的发表一条微博、转播一条微博、回复一条微博、发表一条带图片微博、点评一条微博、发表音乐微博、发表视频微博、发表心情帖子。在api中发表一条微博和发表一条带图片微博合二为一。

1.2、私信相关中的发私信api

对应函数图如下(其中addStatusCommon为公用函数):

\

另有一个简单的发送状态接口如下:

public QqTResponse addStatusRes(String content, String imagePath);

 

示例代码如下

qqTSdkService.addStatus("第一条状态哦", null);  

 

其找第一个参数为状态内容,第二个参数为图片地址,不传图片为空即可

 

2、示例代码

2.1 参数设置

对于各参数意义同腾讯微博发表一条微博api参数,通过QqTStatusInfoPara传入,QqTStatusInfoPara各参数意义如下

\

 

2.2、不同返回结果调用

这8个接口同样都有三种返回结果即字符串、boolean、QqTResponse,可根据需要调用。

以发表一条微博为例

    public String addStatusStr(QqTStatusInfoPara status);
    public boolean addStatus(QqTStatusInfoPara status);
    public QqTResponse addStatusRes(QqTStatusInfoPara status);

 

addStatusStr返回整个结果的字符串,可以通过status.setFormat定义以xml还是json形式返回

addStatus返回是否发表成功

addStatusRes返回QqTResponse,QqTResponse是先得到json串的结果,然后转换为QqTResponse对象

其中包含返回结果中各个字段含义。data字段为addStatus返回的结果。

 

2.2.1 字符串形式返回

    public void testAddStatusStr() {
        QqTStatusInfoPara status = new QqTStatusInfoPara();
        status.setStatusContent("发表音乐微博");
        /** 设置音乐地址 **/
        status.setMusicUrl("http://201112.wma.9ku.com/file2/183/182737.mp3");
        status.setMusicAuthor("张芸京");
        status.setMusicTitle("偏爱");
        assertTrue(qqTSdkService.addMusicStatusStr(status) != null);

        status.setStatusContent("发表视频微博");
        /** 设置视频地址 **/
        status.setVideoUrl("http://v.youku.com/v_show/id_XMjUzOTg3MDY0.html");
        assertTrue(qqTSdkService.addVideoStatusStr(status) != null);
    }

 

上面代码是发表一条音乐微博和一条视频微博

 

2.2.2 boolean形式返回

 

    public void testAddStatus() {
        QqTStatusInfoPara status = new QqTStatusInfoPara();
        status.setStatusContent("发表一条微博啦");
        /** 设置精度和纬度,可不设置 **/
        status.setLatitude(23.4);
        status.setLongitude(110.5);
        assertTrue(qqTSdkService.addStatus(status));

        status.setStatusContent("发表一条带图片微博啦");
        /** 发表带图微博,设置图片路径 **/
        status.setImageFilePath("/mnt/sdcard/DCIM/Camera/IMAG2150.jpg");
        assertTrue(qqTSdkService.addStatus(status));
    }

 

上面同时包含发送一条普通状态和一条带图片状态

 

2.2.3 QqTResponse形式返回

    public void testAddStatusRes() {
        QqTStatusInfoPara status = new QqTStatusInfoPara();
        status.setStatusContent("发表一条微博Res啦");
        QqTResponse qqTResponse = qqTSdkService.addStatusRes(status);

        /** 评论增加的状态 **/
        if (qqTResponse.getIsOk() && qqTResponse.getData() != null) {
            /** 设置评论的微博id **/
            status.setSourceId(((QqTIdAndTime)qqTResponse.getData()).getId());
            status.setStatusContent("评论微博啦");
            assertTrue(qqTSdkService.comment(status));
            status.setStatusContent("回复微博啦");
            assertTrue(qqTSdkService.reply(status));
            status.setStatusContent("转发微博啦");
            assertTrue(qqTSdkService.repost(status));
        } else {
            assertTrue(false);
        }
    }

 

这段代码先回发表一条微博,并得到发表微博的id,然后评论、回复、转发该微博

(QqTIdAndTime)qqTResponse.getData()).getId()可以得到发表成功后的id

<iframe id="google_ads_frame2" vspace="0" height="250" marginHeight="0" src="http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-3447371224873639&output=html&h=250&slotname=8660799060&adk=1970350646&w=300&lmt=1399605877&flash=0&url=http%3A%2F%2Fwww.cnblogs.com%2Fxiaochao1234%2Fp%2F3713280.html&dt=1399605878562&shv=r20140501&cbv=r20140417&saldr=sb&prev_slotnames=4356862740&correlator=1399605878360&frm=20&ga_vid=429972749.1397695120&ga_sid=1399604869&ga_hid=1500659016&ga_fc=1&u_tz=480&u_his=0&u_java=1&u_h=768&u_w=1364&u_ah=740&u_aw=1364&u_cd=16&u_nplug=0&u_nmime=0&dff=verdana&dfs=16&adx=0&ady=3269&biw=314&bih=74&eid=317150304&oid=3&rx=0&eae=0&docm=9&vis=0&fu=0&ifi=2&xpc=EffvojFm93&p=http%3A//www.cnblogs.com&dtd=42" frameBorder="0" width="300" allowTransparency="true" name="google_ads_frame2" marginWidth="0" scrolling="no" hspace="0"></iframe><iframe id="google_ads_frame3" vspace="0" height="250" marginHeight="0" src="http://googleads.g.doubleclick.net/pagead/ads?client=ca-pub-3447371224873639&output=html&h=250&slotname=8660799060&adk=1970350646&w=300&lmt=1399605877&flash=0&url=http%3A%2F%2Fwww.cnblogs.com%2Fxiaochao1234%2Fp%2F3713280.html&dt=1399605878614&shv=r20140501&cbv=r20140417&saldr=sb&prev_slotnames=4356862740%2C8660799060&correlator=1399605878360&frm=20&ga_vid=429972749.1397695120&ga_sid=1399604869&ga_hid=1500659016&ga_fc=1&u_tz=480&u_his=0&u_java=1&u_h=768&u_w=1364&u_ah=740&u_aw=1364&u_cd=16&u_nplug=0&u_nmime=0&dff=verdana&dfs=16&adx=306&ady=3519&biw=314&bih=74&eid=317150304&oid=3&rx=0&eae=0&docm=9&vis=0&fu=0&ifi=3&xpc=fa75DVuJl5&p=http%3A//www.cnblogs.com&dtd=42" frameBorder="0" width="300" allowTransparency="true" name="google_ads_frame3" marginWidth="0" scrolling="no" hspace="0"></iframe>