本文主要介绍腾讯微博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,都符合以下原则
只需根据userName获取信息,则userOpenId传入null
或者空字符串 只需根据userOpenId获取信息,则userName传入
null
或者空字符串 userName和userOpenId至少有一个不为空,若同时存在则以userName值为主
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