`

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

 
阅读更多

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

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


1、10个接口介绍

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

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

 

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各参数意义如下

第二种形式参数为:

以字符串结果返回的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

 

  • 大小: 24.1 KB
  • 大小: 128.7 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics