本文主要介绍腾讯微博android sdk中帐户相关的7个接口,以及使用的示例代码:
注意:以下所有的api示例代码都需要先新建QqTSdkService类对象qqTSdkService并初始化,见sdk使用总介绍
1、7个接口介绍
这7个接口包含了腾讯微博帐户相关中的获取自己的详细资料、更新用户信息、更新用户头像信息、更新用户教育信息、获取其他人资料、获取一批人的简单资料、验证账户是否合法(是否注册微博)共7个api。除获取心情微博api外
对应函数图如下:
public QqTUser getSelfInfo();public boolean updateSelfInfo(QqTUserPara qqTUserPara);public boolean updateSelfHead(String headImagePath);public boolean updateSelfEduInfo(QqTUserEduPara qqTUserEduPara);public QqTUser getOtherUserInfo(String userName, String userOpenId);public List<QqTUser> getOtherUsersInfo(String userNames, String userOpenIds);public boolean verifyAccount(String userName, String userId);
?
2、示例代码
这7个接口同样都有三种返回结果即字符串、QqTUser或boolean或List<QqTUser> 、QqTResponse,可根据需要调用。
以下以QqTUser或boolean或List<QqTUser>为返回结果的调用示例代码
?
对于同时支持以userName和userOpenId的api,都符合以下原则
null
或者空字符串null
或者空字符串?
2.1、获取自己的详细资料
public void testGetSelfInfo() { QqTUser qqTUser = qqTSdkService.getSelfInfo(); assert (qqTUser != null); }
?
2.2、更新用户信息
此api暂时未测试通过
public void testUpdateSelfInfo() { QqTUserPara qqTUserPara = new QqTUserPara(); qqTUserPara.setBirthDay("28"); qqTUserPara.setBirthMonth("4"); qqTUserPara.setBirthYear("1990"); qqTUserPara.setIntroduction("wodexinjieshao"); qqTUserPara.setNick("wodexinnickoo"); qqTUserPara.setCountryCode("1"); qqTUserPara.setCityCode("5"); qqTUserPara.setProvinceCode("11"); qqTUserPara.setSex(2); assertTrue(qqTSdkService.updateSelfInfo(qqTUserPara)); }
关于用户信息中的国家码、地区码、城市码,请参见附件addresslist.zip
?
2.3、更新用户头像信息
public void testUpdateSelfHead() { assertTrue(qqTSdkService.updateSelfHead("/mnt/sdcard/DCIM/Camera/IMAG2150.jpg")); }
以图片路径为参数
?
2.4、更新用户教育信息
public void testUpdateSelfEduInfoStr() { QqTUserEduPara qqTUserEduPara = new QqTUserEduPara(); /** 修改教育信息,setFeildId填返回的feildId **/ qqTUserEduPara.setFeildId(24037); qqTUserEduPara.setYear("2007"); qqTUserEduPara.setSchoolId(12264); qqTUserEduPara.setDepartmentId(25555); qqTUserEduPara.setLevel(5); assertTrue(qqTSdkService.updateSelfEduInfo(qqTUserEduPara)); /** 删除教育信息 **/ qqTUserEduPara.setFeildId(24037); assertTrue(qqTSdkService.updateSelfEduInfo(qqTUserEduPara)); /** 增加教育信息,setFeildId feildId=1 **/ qqTUserEduPara.setFeildId(1); qqTUserEduPara.setYear("2011"); qqTUserEduPara.setSchoolId(12264); qqTUserEduPara.setDepartmentId(25555); /** 1表示小学,2表示初中,3表示高中,4表示大学,5表示硕士,6表示博士**/ qqTUserEduPara.setLevel(6); assertTrue(qqTSdkService.updateSelfEduInfo(qqTUserEduPara)); }
QqTUserEduPara.setFeildId(long)
feildId=1 QqTUserEduPara.setFeildId(long)
填返回的feildId,暂时未测试通过QqTUserEduPara.setFeildId(long)
填返回的feildId,其余参数除format外为空??
2.5、获取其他人资料
public void testGetOtherUserInfo() { String userName = "wenzhang"; QqTUser qqTUser = qqTSdkService.getOtherUserInfo(userName, null); assertTrue(qqTUser != null); }
2.6、获取一批人的简单资料
public void testGetOtherUsersInfo() { String userName = "wenzhang,mayili007,li_nian"; List<QqTUser> qqTUserList = qqTSdkService.getOtherUsersInfo(userName, null); assertTrue(qqTUserList != null); }
userNames 用户名帐户名列表,若多个则用","隔开
userOpenIds 用户openid列表,若多个则用"_"隔开
?
2.7、验证账户是否合法
public void testVerifyAccount() { assertTrue(qqTSdkService.verifyAccount("wenzhang", null)); assertTrue(qqTSdkService.verifyAccount("li_nian", null)); assertFalse(qqTSdkService.verifyAccount("mayili007lalalalaallalalala", null)); }
以wenzhang、li_nian、mayili007lalalalaallalalala为例。
verifyAccount(userName, userOpenId)表示以用户名或用户openId验证帐号是否合法,
若userName, userOpenId之一为空,则以另一不为空参数为验证条件
若同时不为空,则以userName为验证条件
?
整个sdk api使用见:http://trinea.iteye.com/blog/1299505
?