由于现在腾讯微博提供的java(android) sdk功能过弱,自己搞了个java sdk包,同样适用于android。包含腾讯微博目前提供的95%的api,几乎所有主要功能api,用法简单(微博、评论、转发、私信同一个实体类),方便扩展(可以根据自己需要修改源代码或是继承QqTSdkService类,当然为了后续依然能升级版本建议采用继承的方式)。
下面介绍源码地址和jar包地址,然后介绍api的具体使用
1、源码和jar包下载
QqTAndroidSdk-1.0.0.jar为sdk主代码,其中的QqTSdkServiceImpl包含了所有接口的实现,下面第二部分对此中接口进行介绍
jar包地址:QqTAndroidSdk-1.0.0.jar
google code源码地址:http://code.google.com/p/qq-t-java-sdk/source/browse/
github源码地址:https://github.com/Trinea/qq-t-java-sdk
JavaCommon-1.0.0.jar为QqTAndroidSdk依赖的公用处理包,包含字符串、list、数组、map、json工具类等等
jar包地址:已经包含在QqTAndroidSdk-1.0.0.jar中
google code源码地址:http://code.google.com/p/trinea-java-common/source/browse/
github源码地址:https://github.com/Trinea/JavaCommon
2、具体使用
参数同腾讯微博api http://wiki.open.t.qq.com/index.php/API%E6%96%87%E6%A1%A3
注意:以下所有的api示例代码都需要先新建QqTSdkService类对象并初始化,初始化如下
/** * 分别设置应用的key、secret(腾讯提供)。用户的accesstoken和tokenSecret(OAuth获取) * 请用自己的相应字符串替换,否则无法成功发送和获取数据 **/ QqTAppAndToken qqTAppAndToken = new QqTAppAndToken(); qqTAppAndToken.setAppKey("***"); // ***用应用key替换 qqTAppAndToken.setAppSecret("***"); // ***用应用secret替换 qqTAppAndToken.setAccessToken("***"); // ***用用户accesstoken替换 qqTAppAndToken.setTokenSecret("***"); // ***用用户tokenSecret替换 /** 新建QqTSdkService对象,并设置应用信息和用户访问信息 **/ QqTSdkService qqTSdkService = new QqTSdkServiceImpl(); qqTSdkService.setQqTAppAndToken(qqTAppAndToken);
关于以上的accessToken及tokenSecret的获取请见OAuth认证介绍及腾讯微博OAuth认证示例
下面就对接口进行介绍,并举例如何使用QqTAndroidSdk-1.0.0.jar中的api,每个接口都有三种返回参数,可以满足不同需求,接口主要分成几大类:
2.1、时间线(微博列表)
这20个接口包含了腾讯微博四部分api
1.1、时间线中的除statuses/ht_timeline_ext(话题时间线)以外的15个api
1.2、私信相关中的收件箱、发件箱两个api
1.3、数据收藏中的收藏的微博列表和获取已订阅话题列表两个api
1.4、微博相关中的获取单条微博的转发或点评列表api
以获取首页信息为例,示例代码如下:
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);
这样qqTStatusList就保存了首页的20条数据,可以自己设置不同的类型参数
更多时间线数据获取见:腾讯微博java(android)sdk时间线api详细介绍
2.2、新增微博api
8个接口包含了
2.1、微博相关中的发表一条微博、转播一条微博、回复一条微博、发表一条带图片微博、点评一条微博、发表音乐微博、发表视频微博、发表心情帖子。在api中发表一条微博和发表一条带图片微博合二为一。
2.2、私信相关中的发私信api
以新增一条微博为例,示例代码如下
qqTSdkService.addStatus("第一条状态哦", null);
其找第一个参数为状态内容,第二个参数为图片地址,不传图片为空即可
或者复杂点的如下,status可以设置其他地理位置信息等
QqTStatusInfoPara status = new QqTStatusInfoPara(); status.setStatusContent("发表一条带图片微博啦"); /** 发表带图微博,设置图片路径 **/ status.setImageFilePath("/mnt/sdcard/DCIM/Camera/IMAG2150.jpg"); assertTrue(qqTSdkService.addStatus(status, qqTAppAndToken));
更多新增微博api介绍见:腾讯微博java(android)sdk新增微博api详细介绍
2.3、操作一条微博
这6个接口包含了腾讯微博三部分api
1.1、微博相关中的删除一条微博api。
1.2、私信相关中的删除私信api
1.3、数据收藏中收藏微博、取消收藏微博、订阅话题、取消订阅话题4个api
以收藏一条微博为例,示例代码如下
qqTSdkService.collect(12121);
其中参数为微博id
更多操作微博相关api介绍见: 腾讯微博java(android)sdk操作(删除.收藏.订阅等)微博api详细介绍
2.4、关系链列表(用户列表)
这10个接口包含了腾讯微博关系链相关中的互听关系链列表(对某个用户而言,既是他的听众又被他收听)、其他帐号听众列表、其他帐号收听的人列表、其他帐户特别收听的人列表、黑名单列表、我的听众列表、我的听众列表(只包含名字)、我收听的人列表、我收听的人列表(只包含名字)、我的特别收听列表10个api
以获取自己的收听用户为例,示例代码如下
QqTUserRelationPara qqTUserRelationPara = new QqTUserRelationPara(); qqTUserRelationPara.setReqNumber(QqTConstant.VALUE_PAGE_REQ_NUM); qqTUserRelationPara.setStartIndex(0); List<QqTUser> qqTUserList = qqTSdkService.getSelfInterested(qqTUserRelationPara);
2.5、用户建立关系
这6个接口包含了腾讯微博关系链相关中的收听某个用户、取消收听某个用户、特别收听某个用户、取消特别收听某个用户、添加某个用户到黑名单、从黑名单中删除某个用户共6个api
以关注某些用户为例,示例代码如下:
qqTSdkService.interestedInOther("wenzhang,li_nian,mayili007", null)更多用户建立关系相关api介绍见: 腾讯微博java(android)sdk用户建立关系api详细介绍
2.6、帐户相关
这7个接口包含了腾讯微博帐户相关中的获取自己的详细资料、更新用户信息、更新用户头像信息、更新用户教育信息、获取其他人资料、获取一批人的简单资料、验证账户是否合法(是否注册微博)共7个api。除获取心情微博api外
以获取自己的资料为例,示例代码如下:
QqTUser qqTUser = qqTSdkService.getSelfInfo();
更多帐户相关api介绍见:腾讯微博java(android) sdk 帐户相关api详细介绍
2.7 搜索相关
这3个接口包含了腾讯微博搜索相关中的搜索用户、搜索微博、通过标签搜索用户共3个api。
以搜索微博为例,示例代码如下:
public void testSearchStatus() { QqTSearchPara qqTSearchPara = new QqTSearchPara(); qqTSearchPara.setKeyword("iphone"); qqTSearchPara.setPage(1); qqTSearchPara.setPageSize(QqTConstant.VALUE_PAGE_REQ_NUM); List<QqTStatus> qqTStatusList = qqTSdkService.searchStatus(qqTSearchPara); assertTrue(qqTStatusList != null); }更多搜索相关api介绍见:腾讯微博java(android) sdk 搜索相关api详细介绍
2.8 热度趋势相关
这2个接口包含了腾讯微博热度趋势中的话题热榜、转播热榜用户共2个api。
以话题热榜为例,示例代码如下:
public void testGetHotTopics() { QqTHotStatusPara qqTHotStatusPara = new QqTHotStatusPara(); qqTHotStatusPara.setReqNum(QqTConstant.VALUE_PAGE_REQ_NUM); qqTHotStatusPara.setLastPosition(0); /** * 1 话题名,2 搜索关键字 3 两种类型都有 **/ qqTHotStatusPara.setType(Integer.toString(1)); List<QqTTopicSimple> hotTopicsList = qqTSdkService.getHotTopics(qqTHotStatusPara); assertTrue(hotTopicsList != null); }
更多热度趋势相关api介绍见:腾讯微博java(android) sdk 热度趋势相关api详细介绍
2.9 数据更新相关
这1个接口为腾讯微博数据更新相关中的查看数据更新条数api。
示例代码如下:
public void testGetUpdateInfoNum() { /** 设置clearType,对应QqTConstant.VALUE_CLEAR_TYPE_… **/ QqTUpdateNumInfo qqTUpdateNumInfo = qqTSdkService.getUpdateInfoNum(true, QqTConstant.VALUE_CLEAR_TYPE_HOME_PAGE); assertTrue(qqTUpdateNumInfo != null); }
更多数据更新相关api介绍见:腾讯微博java(android) sdk 数据更新相关api详细介绍
2.10 话题相关
这2个接口为腾讯微博话题相关中的根据话题名称查询话题id和根据话题id获取话题相关信息api。
示例代码如下:
public void testGetTopicInfoByIds() { /** 先得到话题id **/ Map<String, String> topicIdAndName = qqTSdkService.getTopicIdByNames("袁莉闪婚,美汁源下架,iphone"); if (topicIdAndName != null) { /** 话题id列表,以逗号分隔 **/ List<QqTStatus> qqtStatusList = qqTSdkService.getTopicInfoByIds(ListUtils.join(new ArrayList<String>(topicIdAndName.keySet()))); assertTrue(qqtStatusList != null); } else { assertTrue(false); } }
以上代码为先根据话题名得到话题id列表,然后为根据话题id获取话题相关信息接口,参数为话题id列表,以逗号分隔
更多话题相关api介绍见:腾讯微博java(android) sdk 话题相关api详细介绍
2.11 标签相关
这2个接口为腾讯微博标签相关中的添加标签和删除标签api。
public void testDeleteTag() { /** 删除自己的tag,先获取自己的资料,从中取中tag id **/ QqTUser qqTUser = qqTSdkService.getSelfInfo(); if (qqTUser != null && qqTUser.getTagMap() != null && qqTUser.getTagMap().size() > 0) { /** 删除tag **/ for (Map.Entry<String, String> tag : qqTUser.getTagMap().entrySet()) { qqTSdkService.deleteTag(tag.getKey()); } } else { assertTrue(false); } }
更多标签相关api介绍见:腾讯微博java(android) sdk 标签相关api详细介绍
你可能还感兴趣:
Android公共库(缓存 下拉ListView 下载管理Pro 静默安装 root运行 Java公共类)
Android系统下载管理DownloadManager功能介绍及使用示例
相关推荐
利用java的反射原理来调用 Android隐藏api 应用开发必备哦 详细描述: http://blog.csdn.net/y_haiyang/article/details/9924925 ====================关注小鱼=================== 新浪微博:...
QWeibo4Android.7z:Android平台调用demo doc.7z:SDK介绍文档 2.如何使用该SDK? (1)在你的Java工程中添加release.7z目录下的jar库,并添加到你的编译路径中 (2)根据SDK介绍文档查询API接口
本软件便是加载于现如今最火的安卓系统之上,使用户...本次研究设计并实现了一个基于android平台下的手机腾讯微博系统,具有界面简洁,信息分享快速化等的特点,通过腾讯互动平台的API接口,实现了用户上网动态绑定。
Android 接入腾讯广告 广点通 SDK DEMO Android腾讯广告集成之初级篇Demo,主要介绍腾讯广点通开屏、插屏、Banner、原生4种广告集成方法。
这是一款Android 新浪、腾讯、人人、豆瓣、Facebook、Twitter OAuth认证实例源码,豆瓣使用的是OAuth1.0,新浪、腾讯、人人、QQ则都是使用OAuth2.0,Fackbook和Twitter直接使用官方的sdk和api。 使用方法:导入...
把server文件夹上传至服务器, ...修改private.pem为自己从腾讯云通讯控制台下载的私钥 ...导入android文件夹到android studio 修改Config.java配置信息 到此配置结束,运行即可
语音合成(模拟发声) 语音识别(语音听写) API demo 使用前,需要注册百度开放云平台帐号等。
提供集成开发环境(IDE),如Visual Studio、Eclipse、Android Studio和Sublime Text等,这些工具集成了文本编辑器,支持语法高亮、自动补全、代码片段管理和版本控制等功能,有助于开发者高效编写和维护代码。...
【Android项目】在线观看漫画的App,使用聚合数据提供的“漫画书”相关的API接口 ####本项目的聚合数据 openid 和 key 不提供,可以去聚合数据自己申请漫画书的SDK。 本项目由于用到了TabPageIndicator,所以需要...
腾讯信鸽.NET SDK 参照官方Java SDK V1.1.6 详细说明可查阅信鸽官方wiki 移植过程中参考了 在此向yeanzhi致敬 修复了一些bug,同时添加了部分API,如引入快捷方式、创建大批量推送消息并推送的接口 1 快捷方式 1.1 ...
java版飞机大战源码 目录介绍 01.项目介绍 02.项目运行 03.项目部分介绍 04.项目组件化结构 05.项目版本更新 06.项目第三方库 07.项目遇到bug 08.项目截图展示 09.项目优化处理 10.组件化博客 11.App性能分析 12....
基于腾讯实时音视频(TRTC)最新的SDK React Native组件基本封装完成,同时支持iOS和Android 没有实现全部API的封装,有很少部分不常用功能尚未实现 后续有时间会继续完善 安装(React Native> = 0.60.0) npm i --...
java8 源码计算机开放电子书汇总 3周3页面 简明Python 教程 ANSI Common Lisp 中文翻译版 Activiti 5.x 用户指南 Airbnb JavaScript 代码规范 腾讯alloyteam团队前端代码规范 Android 官方培训教程 AngularJS最佳...
Shadow是一个腾讯自主研发的Android插件框架,经过线上亿级级用户量检验。Shadow已经开放分享了插件技术的关键代码,还完整的分享了上线部署所需要的所有设计。 与市面其他插件框架等级,阴影主要具有以下特点: ...
微信小程序是腾讯公司基于微信平台推出的一种轻量级应用形态,它无需用户下载安装即可在微信内直接使用。自2017年正式上线以来,小程序凭借其便捷性、易获取性和出色的用户体验迅速获得市场认可,并成为连接线上线下...
微信小程序是腾讯公司基于微信平台推出的一种轻量级应用形态,它无需用户下载安装即可在微信内直接使用。自2017年正式上线以来,小程序凭借其便捷性、易获取性和出色的用户体验迅速获得市场认可,并成为连接线上线下...
java版飞机大战源码计算机开放电子书汇总 3周3页面 简明Python 教程 ANSI Common Lisp 中文翻译版 Activiti 5.x 用户指南 Airbnb JavaScript 代码规范 腾讯alloyteam团队前端代码规范 Android 官方培训教程 ...
微信小程序是腾讯公司基于微信平台推出的一种轻量级应用形态,它无需用户下载安装即可在微信内直接使用。自2017年正式上线以来,小程序凭借其便捷性、易获取性和出色的用户体验迅速获得市场认可,并成为连接线上线下...
zxing.java源码解析 一、打包加固说明 1.多渠道打包加固 -> 爱加密: 2.腾讯乐固 gradle签名打包: V1:可对签名后的文件,作适当修改,并重新压缩。 V2:不能对签名后的 APK作任何修改,包括 zipalign。因为它是...
多语言支持:尽管OpenCV主要使用C++编写,但它提供了丰富的API绑定,支持包括C、Python、Java、MATLAB、JavaScript等多种编程语言,方便不同领域的开发者使用。 开源与免费:OpenCV遵循BSD开源许可证发布,用户...