`

腾讯微博java(android)sdk时间线api详细介绍

 
阅读更多

本文主要介绍腾讯微博android sdk中时间线有关的20个接口,以及正常获取及翻页的使用的示例代码部分特例

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


1、20个接口介绍

这20个接口包含了腾讯微博四部分api

1.1、时间线中的除statuses/ht_timeline_ext(话题时间线)以外的15个api

1.2、私信相关中的收件箱、发件箱两个api

1.3、数据收藏中的收藏的微博列表和获取已订阅话题列表两个api

1.4、微博相关中的获取单条微博的转发或点评列表api

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

2、示例代码

由于这20个接口类似,仅以主页时间线(getHomeTL)为例,对于特殊接口再加以补充

2.1  函数形式

这20个接口同样都有三种返回结果即字符串、List<QqTStatus>QqTResponse,可根据需要调用

以主页时间线为例

public String getHomeTLStr(QqTTimelinePara qqTTimelinePara);
public List<QqTStatus> getHomeTL(QqTTimelinePara qqTTimelinePara);
public QqTResponse getHomeTLRes(QqTTimelinePara qqTTimelinePara);

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

getHomeTL将返回的json结果串中微博列表转换为QqTStatus list

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

其中包含返回结果中各个字段含义。data字段为getHomeTL返回的微博list。

其他时间线api类似,参考腾讯微博api wiki对应api的参数,设置qqTTimelinePara即可

 

2.2 参数意义

对于各参数意义同腾讯微博时间线api参数,通过QqTTimelinePara传入,QqTTimelinePara各参数意义如下

 

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

2.3.1 字符串形式返回

    public void testGetHomeTLStr() {
        QqTTimelinePara qqTTimelinePara = new QqTTimelinePara();
        /** 设置返回结果格式 **/
        qqTTimelinePara.setFormat(QqTConstant.VALUE_FORMAT_XML);
        /** 设置分页标识 **/
        qqTTimelinePara.setPageFlag(0);
        /** 设置起始时间 **/
        qqTTimelinePara.setPageTime(0);
        /** 每次请求记录的条数 **/
        qqTTimelinePara.setPageReqNum(QqTConstant.VALUE_PAGE_REQ_NUM);
        /** 可以设置拉取类型,可取值QqTConstant中VALUE_STATUS_TYPE_TL_…,这里取原创发表 **/
        qqTTimelinePara.setStatusType(QqTConstant.VALUE_STATUS_TYPE_TL_ORIGINAL);
        /** 可以设置微博内容类型,可取值QqTConstant中VALUE_CONTENT_TYPE_TL…,这里取音乐 **/
        qqTTimelinePara.setContentType(QqTConstant.VALUE_CONTENT_TYPE_TL_MUSIC);
        String homeStr = qqTSdkService.getHomeTLStr(qqTTimelinePara);
        assertTrue(homeStr != null);
    }
 

2.3.2 List<QqTStatus>形式返回

    public void testGetHomeTL() {
        QqTTimelinePara qqTTimelinePara = new QqTTimelinePara();
        /** 设置分页标识 **/
        qqTTimelinePara.setPageFlag(0);
        /** 设置起始时间 **/
        qqTTimelinePara.setPageTime(0);
        /** 每次请求记录的条数 **/
        qqTTimelinePara.setPageReqNum(QqTConstant.VALUE_PAGE_REQ_NUM);
        /** 可以设置拉取类型,可取值QqTConstant中VALUE_STATUS_TYPE_TL_… **/
        qqTTimelinePara.setStatusType(QqTConstant.VALUE_STATUS_TYPE_TL_ALL);
        /** 可以设置微博内容类型,可取值QqTConstant中VALUE_CONTENT_TYPE_TL… **/
        qqTTimelinePara.setContentType(QqTConstant.VALUE_CONTENT_TYPE_TL_ALL);
        List<QqTStatus> qqTStatusList = qqTSdkService.getHomeTL(qqTTimelinePara);
        assertTrue(qqTStatusList != null);
    }

2.3.3 QqTResponse形式返回

    public void testGetHomeTLRes() {
        QqTTimelinePara qqTTimelinePara = new QqTTimelinePara();
        /** 设置分页标识 **/
        qqTTimelinePara.setPageFlag(0);
        /** 设置起始时间 **/
        qqTTimelinePara.setPageTime(0);
        /** 每次请求记录的条数 **/
        qqTTimelinePara.setPageReqNum(QqTConstant.VALUE_PAGE_REQ_NUM);
        /** 可以设置拉取类型,可取值QqTConstant中VALUE_STATUS_TYPE_TL_… **/
        qqTTimelinePara.setStatusType(QqTConstant.VALUE_STATUS_TYPE_TL_ALL);
        /** 可以设置微博内容类型,可取值QqTConstant中VALUE_CONTENT_TYPE_TL… **/
        qqTTimelinePara.setContentType(QqTConstant.VALUE_CONTENT_TYPE_TL_ALL);
        QqTResponse qqTResponse = qqTSdkService.getHomeTLRes(qqTTimelinePara);
        assertTrue(qqTResponse != null);
    }

 

2.4 翻页

需要setPageFlag、setPageTime以及setLastId,代码如下:

        QqTTimelinePara qqTTimelinePara = new QqTTimelinePara();
        /** 设置分页标识 **/
        qqTTimelinePara.setPageFlag(0);
        /** 设置起始时间 **/
        qqTTimelinePara.setPageTime(0);
        /** 每次请求记录的条数 **/
        qqTTimelinePara.setPageReqNum(QqTConstant.VALUE_PAGE_REQ_NUM);
        /** 可以设置拉取类型,可取值QqTConstant中VALUE_STATUS_TYPE_TL_… **/
        qqTTimelinePara.setStatusType(QqTConstant.VALUE_STATUS_TYPE_TL_ALL);
        /** 可以设置微博内容类型,可取值QqTConstant中VALUE_CONTENT_TYPE_TL… **/
        qqTTimelinePara.setContentType(QqTConstant.VALUE_CONTENT_TYPE_TL_ALL);
        List<QqTStatus> qqTStatusList = qqTSdkService.getHomeTL(qqTTimelinePara);

        /** 第二页 **/
        if (qqTStatusList.size() >= qqTTimelinePara.getPageReqNum()
            && qqTStatusList.get(qqTStatusList.size() - 1) != null) {
            qqTTimelinePara.setPageFlag(QqTConstant.VALUE_NEXT_PAGE);
            qqTTimelinePara.setPageTime(qqTStatusList.get(qqTStatusList.size() - 1).getTime());
            qqTTimelinePara.setLastId(qqTStatusList.get(qqTStatusList.size() - 1).getStatusId());
            List<QqTStatus> nextPageQqTStatusList = qqTSdkService.getHomeTL(qqTTimelinePara);
        }

对于getHomeTLRes返回的结果QqTResponse,只需要取出其中的data转换为QqTListData类型,再得到info,从中得到上次最后一条微博信息传入即可

 

其他时间线api翻页可能需要传入不同的参数,具体参考腾讯微博api wiki对应api的参数,设置qqTTimelinePara即可

 

3、特例

关于获取单条微博的转发或点评列表的api为getStatusCommentsCommon,该api被三个函数调用,如下:

分别表示得到某条微博的评论、评论和转发、转发信息。以获得某条微博的评论列表(getStatusComments)为例,调用如下:

    public void testGetStatusComments() {
        QqTStatusInfoPara status = new QqTStatusInfoPara();
        status.setStatusContent("发表一条微博用来查看评论列表啦");
        QqTResponse qqTResponse = qqTSdkService.addStatusRes(status);

        /** 先评论新增的微博,再获得评论列表 **/
        if (qqTResponse.getIsOk() && qqTResponse.getData() != null) {
            int commentCount = 2;
            for (int i = 1; i <= commentCount; i++) {
                /** 设置评论的微博id **/
                status.setSourceId(((QqTIdAndTime)qqTResponse.getData()).getId());
                status.setStatusContent("评论列表评论微博啦" + i);
                qqTSdkService.comment(status);
            }

            /** 获得评论列表 **/
            QqTTimelinePara qqTTimelinePara = new QqTTimelinePara();
            qqTTimelinePara.setPageFlag(0);
            qqTTimelinePara.setPageTime(0);
            qqTTimelinePara.setPageReqNum(QqTConstant.VALUE_PAGE_REQ_NUM);
            qqTTimelinePara.setTwitterId(0);
            /** 设置微博id,表示获得该微博的评论列表 **/
            qqTTimelinePara.setRootId(((QqTIdAndTime)qqTResponse.getData()).getId());
            List<QqTStatus> qqTStatusList = qqTSdkService.getStatusComments(qqTTimelinePara);
            assertTrue(qqTStatusList.size() == commentCount);
        } else {
            assertTrue(false);
        }
    }

上述代码主要完成发表一条微博,然后对其进行评论,最后获得评论列表

其中qqTSdkService.getStatusComments(qqTTimelinePara);为关键代码


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


  • 大小: 71.7 KB
  • 大小: 125.1 KB
分享到:
评论

相关推荐

    sina微博API Java SDK

    4. **调用API接口**:通过SDK提供的各种方法,如postStatus()用于发布微博,getUserTimeline()获取用户时间线等。 四、示例代码 以下是一个简单的发布微博的例子: ```java import weibo4j.*; public class ...

    腾讯微博网页版SDK及示例 V1.1源码

    WeiBeeQQ.cs - 腾讯微博类,发微博,获取时间线等实现 v. Utility.cs - 公用的基础方法 vi. WebHelper.cs - 更基础的web帮助方法 b. Helpers i. WeiBeeAdd.cs - 发微博(包括图片文字)数据类型 2. DemoWeb目录,...

    android仿腾讯微博客户端

    本篇将详细介绍如何在Android平台上仿造腾讯微博客户端,提供一个功能完备、易于使用的应用程序。 一、项目概述 "Android仿腾讯微博客户端"是一个基于Android平台的项目,其目标是实现与腾讯微博原生客户端类似的...

    分享到新浪,腾讯微博

    用户可以通过点击分享按钮,选择相应平台,然后输入文字、添加图片、视频或链接,最后发布到自己的微博时间线。这一过程的背后,涉及到前端开发、后端接口设计以及社交媒体API的使用。 【标签】:“腾讯微博” ...

    微博Android平台SDK文档V2.4.01

    - 开发者可以利用SDK方便地将内容分享到用户的微博时间线,包括文本、图片、链接等多种形式。V2.4.0版本的更新可能优化了分享流程,使得分享更顺畅,用户体验更好。 3. **登录/注销按钮**: - 自V2.3.0起,SDK...

    Android腾讯微博源码

    在Android平台上,腾讯微博是一款非常流行的社交媒体应用,它允许用户发布、阅读和分享微博,与朋友保持联系。这里我们讨论的是“Android腾讯微博源码”,这是一份宝贵的资源,可以帮助开发者深入理解Android应用...

    android 腾讯微博客户端

    5. **网络编程**:使用HttpURLConnection或OkHttp库进行网络请求,获取腾讯微博API的数据,如用户信息、时间线动态等。需要注意处理异步任务,防止阻塞主线程。 6. **JSON解析**:接收到的微博数据通常是JSON格式,...

    腾讯微博php框架

    这个框架可以帮助开发者构建自己的微型博客平台,提供类似于腾讯微博的用户体验。通过使用PHP,该框架利用了这门语言的灵活性和广泛的应用场景,使得开发者能够快速开发、部署和维护社交网络服务。 在PHP框架中,...

    基于Android的腾讯微博app

    【基于Android的腾讯微博app】项目是一个使用Android Studio开发的移动应用示例,旨在帮助开发者了解如何构建一个功能完备的社交媒体应用,特别是针对腾讯微博的客户端。该项目包含了一个完整的应用程序框架,包括...

    javaSDK.rar_java.sdk

    开发者可以通过SDK提供的类和方法,轻松实现如获取用户信息、发布微博、获取时间线等操作。例如,可能有一个`WeiboAPI`类,其中包含`getUserInfo()`这样的方法来获取指定用户的基本信息。 3. **微博用户信息**: ...

    Android SDK-高德地图API.rar

    2. **高德地图API接入**:详细阐述如何在Android应用中引入高德地图SDK,包括添加依赖、获取API密钥、初始化地图等步骤。 3. **地图显示与控制**:讲解如何加载地图,设置地图级别、视角、缩放、平移等操作,以及...

    新浪微博SDK for c++

    2. **数据访问**:通过SDK,开发者可以获取微博的实时信息流,包括用户的时间线、热门话题、推荐内容等。同时,也可以获取和管理用户的信息,如好友列表、关注列表等。 3. **内容发布**:SDK应该提供接口,使开发者...

    仿腾讯微博模板

    在这个模板中,HTML文件可能已经预设了类似于腾讯微博的头部、主体和底部布局,包括导航栏、时间线、发布框、评论区等元素。 接着是CSS(层叠样式表),它是用于描述HTML或XML(包括各种XML方言如SVG、MathML等)...

    腾讯微博为何干不过新浪微博.docx

    反观新浪微博,尽管在起跑线上晚于腾讯微博,却通过一系列精准的策略和创新的产品设计,牢牢把握住了市场先机。那么,在这场较量中,究竟是哪些因素导致了腾讯微博未能战胜新浪微博呢? 首先,腾讯微博在业务投入与...

    tweetero.zip_android_android 微博_android上传图片

    2. 功能全面:除了基本的发微博、浏览时间线,还支持评论、转发、点赞等交互功能,以及图片上传,满足用户多样化的需求。 3. 源码开放:tweetero的源代码公开,为开发者提供了学习和研究的机会,有助于提升Android...

    腾讯微博实例

    实现微博浏览功能,应用需要能获取用户的微博时间线,这通常通过调用腾讯微博的API接口实现。API返回的数据显示在应用界面上,可以包括文字、图片、视频等各种内容类型。这涉及到数据解析(例如JSON解析)、UI渲染...

    酷狗音乐怎么分享歌曲到腾讯微博?.docx

    当你确认所有信息无误后,点击“分享”按钮,系统会自动帮你将这首歌曲的相关信息和链接发送到你的腾讯微博时间线上。 分享成功后,你会看到一个提示框告诉你分享已经完成。此时,你的粉丝或关注者就能够看到你在...

    Android SDK + Systrace

    5. **时间线视图**:以时间线的形式展示各个组件的活动,直观展示性能瓶颈。 在使用Systrace时,开发者通常会结合Android Profiler(在Android Studio中)来分析内存泄漏、CPU使用率、线程状态等,以全方位优化应用...

    山东仁科3.0协议网络设备Java版SDK-V1.0.2.zip

    在实际开发过程中,使用这个SDK,开发者需要熟悉Java编程,理解网络通信的基本原理,同时掌握SDK提供的API接口。通常,SDK会包含详细的开发指南、示例代码和错误处理机制,帮助开发者快速上手。例如,可能有专门的类...

    java 3d sdk for windows

    1. **三维几何建模**:Java 3D API提供了一系列类来创建和操作3D几何形状,如点、线、面、多边形和复杂几何对象。这使得开发者能够构建各种各样的3D模型。 2. **场景图**:Java 3D使用一种基于节点的场景图结构,...

Global site tag (gtag.js) - Google Analytics