腾讯微博java(android)sdk关系链api详细引见

腾讯微博java(android)sdk关系链api详细介绍本文主要介绍腾讯微博android sdk中关系链有关的10个接口,以及

腾讯微博java(android)sdk关系链api详细介绍

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

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


1、10个接口介绍

这10个接口包含了腾讯微博关系链相关中的互听关系链列表(对某个用户而言,既是他的听众又被他收听)、其他帐号听众列表、其他帐号收听的人列表、其他帐户特别收听的人列表、黑名单列表、我的听众列表、我的听众列表(只包含名字)、我收听的人列表、我收听的人列表(只包含名字)、我的特别收听列表10个api

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

腾讯微博java(android)sdk关系链api详细引见

?

2、示例代码

由于这10个接口类似,以我收听的人列表(getSelfInterested)、

我的听众列表(getSelfFansNames 只输出name)、

其他用户的听众列表(getOtherUserFans)为例

2.1 ?函数形式

这20个接口同样都有两种参数即qqTUserRelationPara、普通

三种返回结果即字符串、List<QqTUser>、QqTResponse,可根据需要调用。

以我收听的人列表(getSelfInterested)为例

public String getSelfInterestedStr(QqTUserRelationPara qqTUserRelationPara);public String getSelfInterestedStr(String format, int reqNumber, int startIndex);public List<QqTUser> getSelfInterested(QqTUserRelationPara qqTUserRelationPara);public List<QqTUser> getSelfInterested(int reqNumber, int startIndex);public QqTResponse getSelfInterestedRes(QqTUserRelationPara qqTUserRelationPara);public QqTResponse getSelfInterestedRes(int reqNumber, int startIndex);

String getSelfInterested返回整个结果的字符串,可以通过format定义以xml还是json形式返回

List<QqTUser> getSelfInterested将返回的json串中用户列表转换成QqTStatus list

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

其中包含返回结果中各个字段含义。data字段为List<QqTUser> getSelfInterested返回的QqTStatus list。

其他关系链api类似

?

2.2 参数意义

对于各参数意义同腾讯微博关系链api参数,

第一种形式参数通过QqTUserRelationPara传入,QqTUserRelationPara各参数意义如下

腾讯微博java(android)sdk关系链api详细引见

第二种形式参数为:

以字符串结果返回的api中format为返回字符串的格式,取值为QqTConstant.VALUE_FORMAT_JSON和QqTConstant.VALUE_FORMAT_XML。

String userName表示用户帐户名

String userOpenId表示用户open id

int reqNumber表示请求个数

int startIndex表示起始位置(第一页填0,继续向下翻页,填:[reqnum*(page-1)])?

?

2.3、不同返回结果调用示例

2.3.1 字符串形式返回

    public void testGetSelfFansNamesStr() {        QqTUserRelationPara qqTUserRelationPara = new QqTUserRelationPara();        qqTUserRelationPara.setFormat(QqTConstant.VALUE_FORMAT_JSON);        qqTUserRelationPara.setReqNumber(QqTConstant.VALUE_PAGE_REQ_NUM);        qqTUserRelationPara.setStartIndex(0);        String myFansStr = qqTSdkService.getSelfFansNamesStr(qqTUserRelationPara);        assertTrue(myFansStr != null);    }

以上代码得到我的听众列表,只输出name,所有api为getSelfFansNamesStr

?

2.3.2?List<QqTStatus>形式返回

    public void testGetSelfInterested() {        QqTUserRelationPara qqTUserRelationPara = new QqTUserRelationPara();        qqTUserRelationPara.setReqNumber(QqTConstant.VALUE_PAGE_REQ_NUM);        qqTUserRelationPara.setStartIndex(0);        List<QqTUser> qqTUserList = qqTSdkService.getSelfInterested(qqTUserRelationPara);        /** 第二页 **/        if (qqTUserList.size() >= qqTUserRelationPara.getReqNumber() && qqTUserList.get(qqTUserList.size() - 1) != null) {            /** 设置第二页起始位置(第一页填0,继续向下翻页:填:reqnum*(page-1)) **/            qqTUserRelationPara.setStartIndex(QqTConstant.VALUE_PAGE_REQ_NUM);            List<QqTUser> nextqqTUserList = qqTSdkService.getSelfInterested(qqTUserRelationPara);            assertTrue(nextqqTUserList != null);        } else {            assertTrue(qqTUserList != null);        }    }

?以上代码得到我收听的人列表,并进行翻页获取,所有api为getSelfInterested

?

2.3.3 QqTResponse形式返回

    public void testGetOtherUserFans() {        QqTUserRelationPara qqTUserRelationPara = new QqTUserRelationPara();        qqTUserRelationPara.setReqNumber(QqTConstant.VALUE_PAGE_REQ_NUM);        qqTUserRelationPara.setStartIndex(0);        /** 设置用户帐户名,注意不是显示名,以http://t.qq.com/li_nian为例 **/        qqTUserRelationPara.setUserName("li_nian");        QqTResponse qqTResponse = qqTSdkService.getOtherUserFansRes(qqTUserRelationPara);        /** 第二页 **/        if (qqTResponse.getData() != null) {            /** 获得QqTResponse中的用户列表信息 **/            List<QqTUser> qqTUserList = (List<QqTUser>)((QqTListData)qqTResponse.getData()).getInfo();            if (qqTUserList.size() >= qqTUserRelationPara.getReqNumber()                && qqTUserList.get(qqTUserList.size() - 1) != null) {                /** 设置第二页起始位置(第一页填0,继续向下翻页:填:reqnum*(page-1)) **/                qqTUserRelationPara.setStartIndex(QqTConstant.VALUE_PAGE_REQ_NUM);                QqTResponse nextQqTResponse = qqTSdkService.getOtherUserFansRes(qqTUserRelationPara);                assertTrue(nextQqTResponse != null);            } else {                assertTrue(qqTResponse != null);            }        } else {            assertTrue(false);        }    }

以上代码得到其他账户(li_nian为例)以的听众列表,并进行翻页获取,所有api为getOtherUserFansRes

从QqTResponse中获得用户列表为 (List<QqTUser>)((QqTListData)qqTResponse.getData()).getInfo()

?

2.4 翻页

见上面2.2.2和2.2.3中的翻页代码

?

整个sdk api使用见:http://trinea.iteye.com/blog/1299505

?