TencentOpenAPI iOS SDK  v1.4 Beta
QQ互联开放平台 iOS SDK
 全部  文件 函数 变量 类型定义 枚举 枚举值 属性 
<TencentSessionDelegate>协议 参考abstract

TencentSessionDelegate iOS Open SDK 1.3 API回调协议 更多...

#import <TencentOAuth.h>

类 <TencentSessionDelegate> 继承关系图:
<TencentLoginDelegate>

Instance Methods

(void) - tencentDidLogout
 
(BOOL) - tencentNeedPerformIncrAuth:withPermissions:
 
(BOOL) - tencentNeedPerformReAuth:
 
(void) - tencentDidUpdate:
 
(void) - tencentFailedUpdate:
 
(void) - getUserInfoResponse:
 
(void) - getListAlbumResponse:
 
(void) - getListPhotoResponse:
 
(void) - checkPageFansResponse:
 
(void) - addShareResponse:
 
(void) - addAlbumResponse:
 
(void) - uploadPicResponse:
 
(void) - addOneBlogResponse:
 
(void) - addTopicResponse:
 
(void) - setUserHeadpicResponse:
 
(void) - getVipInfoResponse:
 
(void) - getVipRichInfoResponse:
 
(void) - matchNickTipsResponse:
 
(void) - getIntimateFriendsResponse:
 
(void) - sendStoryResponse:
 
(void) - tencentOAuth:didSendBodyData:totalBytesWritten:totalBytesExpectedToWrite:userData:
 
(void) - tencentOAuth:doCloseViewController:
 

详细描述

TencentSessionDelegate iOS Open SDK 1.3 API回调协议

第三方应用需要实现每条需要调用的API的回调协议

Method Documentation

- (void) addAlbumResponse: (APIResponse *)  response
optional

在QZone相册中创建一个新的相册回调

参数
responseAPI返回结果,具体定义参见sdkdef.h文件中APIResponse
备注
正确返回示例:
retCode = 0
seq = 1012
errorMsg = nil
jsonResponse =
{
albumid = 0001;
classid = 0;
createtime = 1357722981;
desc = "我的测试相册";
msg = "";
name = "iosSDK接口测试相册";
priv = 1;
ret = 0;
}
message =
{
"albumid" : "0001",
"classid" : 0,
"createtime" : 1357723067,
"desc" : "我的测试相册",
"msg" : "",
"name" : "iosSDK接口测试相册",
"priv" : 1,
"ret" : 0
}
detailRetCode = 0
错误返回示例:
retCode = 0
seq = 1022
errorMsg = nil
jsonResponse =
{
msg = "access token check failed";
ret = 100016;
}
message =
{"ret":100016,"msg":"access token check failed"}
detailRetCode = 0
- (void) addOneBlogResponse: (APIResponse *)  response
optional

在QZone中发表一篇日志回调

参数
responseAPI返回结果,具体定义参见sdkdef.h文件中APIResponse
备注
正确返回示例:
retCode = 0
seq = 1012
errorMsg = nil
jsonResponse =
{
blogid = 1357713386;
msg = "发表成功! ";
ret = 0;
url = "http://i.qq.com";
}
message =
{
"ret":0,
"msg":"发表成功! ",
"blogid":1357713386,
"url":"http://i.qq.com"
}
detailRetCode = 0
错误返回示例:
retCode = 0
seq = 1022
errorMsg = nil
jsonResponse =
{
msg = "access token check failed";
ret = 100016;
}
message =
{"ret":100016,"msg":"access token check failed"}
detailRetCode = 0
- (void) addShareResponse: (APIResponse *)  response
optional

分享到QZone回调

参数
responseAPI返回结果,具体定义参见sdkdef.h文件中APIResponse
备注
正确返回示例:
retCode = 0
seq = 1012
errorMsg = nil
jsonResponse =
{
msg = ok;
ret = 0;
"share_id" = 1357731115;
}
message =
{"ret":0,"msg":"ok","share_id":1357731115}
detailRetCode = 0
错误返回示例:
retCode = 0
seq = 1022
errorMsg = nil
jsonResponse =
{
msg = "access token check failed";
ret = 100016;
}
message =
{"ret":100016,"msg":"access token check failed"}
detailRetCode = 0
- (void) addTopicResponse: (APIResponse *)  response
optional

在QZone中发表一条说说回调

参数
responseAPI返回结果,具体定义参见sdkdef.h文件中APIResponse
备注
正确返回示例:
retCode = 0
seq = 1012
errorMsg = nil
jsonResponse =
{
data = {
msg = "";
ret = 0;
};
err = {
code = 0;
};
msg = "";
ret = 0;
richinfo = {
rtype = 0;
url2 = "";
url3 = "";
who = 0;
};
}
message =
{"data":{"msg":"","ret":0},"err":{"code":0},"msg":"","ret":0,"richinfo":{"rtype":0,"url2":"","url3":"","who":0}}
detailRetCode = 0
错误返回示例:
retCode = 0
seq = 1022
errorMsg = nil
jsonResponse =
{
data = {
msg = "";
ret = "-106";
};
err = {
code = "-106";
};
msg = "";
ret = "-106";
richinfo = {
rtype = 0;
url2 = "";
url3 = "";
who = 0;
};
}
message =
{"data":{"msg":"","ret":-106},"err":{"code":-106},"msg":"","ret":-106,"richinfo":{"rtype":0,"url2":"","url3":"","who":0}}
detailRetCode = 0
- (void) checkPageFansResponse: (APIResponse *)  response
optional

检查是否是QZone某个用户的粉丝回调

参数
responseAPI返回结果,具体定义参见sdkdef.h文件中APIResponse
备注
正确返回示例:
retCode = 0
seq = 1012
errorMsg = nil
jsonResponse =
{
isfans = 0;
msg = ok;
ret = 0;
}
message =
{
"ret":0,
"msg":"ok",
"isfans":0
}
detailRetCode = 0
错误返回示例:
retCode = 0
seq = 1022
errorMsg = nil
jsonResponse =
{
isfans = 0;
msg = "服务器繁忙";
ret = 3107;
}
message =
{
"ret":3107,
"msg":"服务器繁忙",
"isfans":0
}
detailRetCode = 0
- (void) getIntimateFriendsResponse: (APIResponse *)  response
optional

获取最近的微博好友回调

参数
responseAPI返回结果,具体定义参见sdkdef.h文件中APIResponse
备注
正确返回示例:
retCode = 0
seq = 1012
errorMsg = “操作成功”
jsonResponse =
{
errcode : 返回错误码,
msg : 错误信息,
ret : 返回值,0-成功,非0-失败,
data :
{
curnum : 本次请求返回记录条数,
timestamp : 服务器时间戳,
info :
{
name : 帐户名,
openid : 用户唯一id,与name相对应,
nick : 昵称,
head : 头像url,
sex : 用户性别,1-男,2-女,0-未填写,
fansnum : :听众数,
idolnum : 收听人数,
isfans : 是否我的粉丝,false-不是,true-是,
isidol : 是否我收听的人,false-不是,true-是,
isrealname : 是否实名认证,0-老用户,1-已实名认证,2-已注册但未实名认证,
isvip : 是否微博认证用户,0-不是,1-是
}
},
seqid : 序列号
}
message =
{"errcode":"0","msg":"","ret":"0","data":{"curnum":"1","timestamp":"13500000","info":{"name":"Abc","openid":"EF98JDSS","nick":"aa","head":"http://aa.png","sex":"1","fansnum":"2","idolnum":"1","isfans":"false","isidol":"true","isrealname":"2","isvip":"0"}},"seqid":"O1dsSD"}
detailRetCode = 0
错误返回示例:
retCode = 0
seq = 1022
errorMsg = “传入参数错误”
jsonResponse =
{
ret : 4,
errcode : 80004,
msg : "verify friends error"
}
message =
{ret:"4",errcode:"80004",msg:"verify friends error"}
detailRetCode = 8
- (void) getListAlbumResponse: (APIResponse *)  response
optional

获取用户QZone相册列表回调

参数
responseAPI返回结果,具体定义参见sdkdef.h文件中APIResponse
备注
正确返回示例:
retCode = 0
seq = 1012
errorMsg = nil
jsonResponse =
{
album = (
{
albumid = 0001;
classid = 0;
coverurl = "http://o122.photo.store.qq.com/psb?/0001/CHpeffApHP0M3n1M5IYipTeNohf0AbxNQwXj2S3WDq0!/a/dDPqvUgOEAAA/DmQDAA!!";
createtime = 1353495045;
desc = "";
name = "手机相册";
picnum = 1;
priv = 1;
},
{
albumid = 0002;
classid = 0;
coverurl = "http://imgcache.qq.com/ac/qzone_v5/photo/no_photo_s.png";
createtime = 1357636191;
desc = "我的测试相册";
name = "iosSDK接口测试相册";
picnum = 0;
priv = 1;
}
);
albumnum = 2;
msg = "";
ret = 0;
}
message =
{
"album" : [
{
"albumid" : "0001",
"classid" : 0,
"coverurl" : "http:\/\/o122.photo.store.qq.com\/psb?\/0001\/CHpeffApHP0M3n1M5IYipTeNohf0AbxNQwXj2S3WDq0!\/a\/dDPqvUgOEAAA\/DmQDAA!!",
"createtime" : 1353495045,
"desc" : "",
"name" : "手机相册",
"picnum" : 1,
"priv" : 1
},
{
"albumid" : "0002",
"classid" : 0,
"coverurl" : "http:\/\/imgcache.qq.com\/ac\/qzone_v5\/photo\/no_photo_s.png",
"createtime" : 1357636191,
"desc" : "我的测试相册",
"name" : "iosSDK接口测试相册",
"picnum" : 0,
"priv" : 1
}
],
"albumnum" : 2,
"msg" : "",
"ret" : 0
}
detailRetCode = 0
错误返回示例:
retCode = 0
seq = 1022
errorMsg = nil
jsonResponse =
{
msg = "access token check failed";
ret = 100016;
}
message =
{"ret":100016,"msg":"access token check failed"}
detailRetCode = 0
- (void) getListPhotoResponse: (APIResponse *)  response
optional

获取用户QZone相片列表

参数
responseAPI返回结果,具体定义参见sdkdef.h文件中APIResponse
备注
正确返回示例:
retCode = 0
seq = 1012
errorMsg = nil
jsonResponse =
{
msg = "";
photos = (
{
desc = "没啥好说的。";
"hd_existed" = 0;
"large_image" = {
height = 656;
url = "http://o122.photo.store.qq.com/psb?/0001/CHpeffApHP0M3n1M5IYipTeNohf0AbxNQwXj2S3WDq0!/b/dDPqvUgOEAAA/DmQDAA!!&bo=jgKQAgAAAAABADk!";
width = 654;
};
lloc = "NDJ0f1E9SAayrFDyUlUQM.q9SA4QAAA!";
name = picFile;
sloc = "NDJ0f1E9SAayrFDyUlUQM.q9SA4QAAA!";
"small_url" = "http://o122.photo.store.qq.com/psb?/0001/CHpeffApHP0M3n1M5IYipTeNohf0AbxNQwXj2S3WDq0!/a/dDPqvUgOEAAA/DmQDAA!!&bo=jgKQAgAAAAABADk!";
"updated_time" = 1353495046;
"uploaded_time" = 1353495046;
}
);
ret = 0;
total = 1;
}
message =
{
"msg" : "",
"photos" : [
{
"desc" : "没啥好说的。",
"hd_existed" : 0,
"large_image" : {
"height" : 656,
"url" : "http:\/\/o122.photo.store.qq.com\/psb?\/0001\/CHpeffApHP0M3n1M5IYipTeNohf0AbxNQwXj2S3WDq0!\/b\/dDPqvUgOEAAA\/DmQDAA!!&bo=jgKQAgAAAAABADk!",
"width" : 654
},
"lloc" : "NDJ0f1E9SAayrFDyUlUQM.q9SA4QAAA!",
"name" : "picFile",
"sloc" : "NDJ0f1E9SAayrFDyUlUQM.q9SA4QAAA!",
"small_url" : "http:\/\/o122.photo.store.qq.com\/psb?\/0001\/CHpeffApHP0M3n1M5IYipTeNohf0AbxNQwXj2S3WDq0!\/a\/dDPqvUgOEAAA\/DmQDAA!!&bo=jgKQAgAAAAABADk!",
"updated_time" : 1353495046,
"uploaded_time" : 1353495046
}
],
"ret" : 0,
"total" : 1
}
detailRetCode = 0
错误返回示例:
retCode = 0
seq = 1022
errorMsg = nil
jsonResponse =
{
msg = "该相册不存在。 错误码:(B1B3D-801)";
ret = 3801;
}
message =
{
"msg" : "该相册不存在。 错误码:(B1B3D-801)",
"ret" : 3801
}
detailRetCode = 0
- (void) getUserInfoResponse: (APIResponse *)  response
optional

获取用户个人信息回调

参数
responseAPI返回结果,具体定义参见sdkdef.h文件中APIResponse
备注
正确返回示例:
retCode = 0
seq = 1012
errorMsg = nil
jsonResponse =
{
"figureurl" = "http://qzapp.qlogo.cn/qzapp/222222/45597768A3D9E2E2115DB833D59C4AAE/30";
"figureurl_1" = "http://qzapp.qlogo.cn/qzapp/222222/45597768A3D9E2E2115DB833D59C4AAE/50";
"figureurl_2" = "http://qzapp.qlogo.cn/qzapp/222222/45597768A3D9E2E2115DB833D59C4AAE/100";
"figureurl_qq_1" = "http://q.qlogo.cn/qqapp/222222/45597768A3D9E2E2115DB833D59C4AAE/41";
"figureurl_qq_2" = "http://q.qlogo.cn/qqapp/222222/45597768A3D9E2E2115DB833D59C4AAE/100";
"is_yellow_vip" = 0;
"is_yellow_year_vip" = 0;
"msg" = "";
"nickname" = jeamin;
"ret" = 0;
"yellow_vip_level" = 0;
}
message =
{
"ret":0,
"msg":"",
"nickname":"jeamin",
"figureurl":"http://qzapp.qlogo.cn/qzapp/222222/45597768A3D9E2E2115DB833D59C4AAE/30",
"figureurl_1":"http://qzapp.qlogo.cn/qzapp/222222/45597768A3D9E2E2115DB833D59C4AAE/50",
"figureurl_2":"http://qzapp.qlogo.cn/qzapp/222222/45597768A3D9E2E2115DB833D59C4AAE/100",
"is_yellow_vip":"0",
"is_yellow_year_vip":"0",
"yellow_vip_level":"0",
"figureurl_qq_1":"http://q.qlogo.cn/qqapp/222222/45597768A3D9E2E2115DB833D59C4AAE/41",
"figureurl_qq_2":"http://q.qlogo.cn/qqapp/222222/45597768A3D9E2E2115DB833D59C4AAE/100"
}
detailRetCode = 0
错误返回示例:
retCode = 0
seq = 1022
errorMsg = nil
jsonResponse =
{
msg = "access token check failed";
ret = 100016;
}
message =
{"ret":100016,"msg":"access token check failed"}
detailRetCode = 0
- (void) getVipInfoResponse: (APIResponse *)  response
optional

获取QQ会员信息回调

参数
responseAPI返回结果,具体定义参见sdkdef.h文件中APIResponse
备注
正确返回示例:
retCode = 0
seq = 1012
errorMsg = “操作成功”
jsonResponse =
{
"is_lost" = 0;
"is_qq_vip" = 0;
"is_qq_year_vip" = 0;
msg = "";
"qq_vip_level" = 0;
ret = 0;
}
message =
{"ret":0,"msg":"","is_lost":0,"is_qq_vip":0,"is_qq_year_vip":0,"qq_vip_level":0}
detailRetCode = 0
错误返回示例:
retCode = 0
seq = 1022
errorMsg = “请重新登录”
jsonResponse =
{
msg = "user haved not authorized";
ret = 100030;
}
message =
{"ret":100030,"msg":"user haved not authorized"}
detailRetCode = 3
- (void) getVipRichInfoResponse: (APIResponse *)  response
optional

获取QQ会员详细信息回调

参数
responseAPI返回结果,具体定义参见sdkdef.h文件中APIResponse
- (void) matchNickTipsResponse: (APIResponse *)  response
optional

获取微博好友名称输入提示回调

参数
responseAPI返回结果,具体定义参见sdkdef.h文件中APIResponse
备注
正确返回示例:
retCode = 0
seq = 1012
errorMsg = “操作成功”
jsonResponse =
{
errcode : 返回错误码,
msg : 错误信息,
ret : 返回值,0-成功,非0-失败,
data :
{
info :
{
name : 好友的微博账号,
nick : 好友的昵称,
head : 好友的头像url
}
},
seqid : 序列号
}
message =
{"errcode":0,"msg":"","ret":0,"data":{"info":{"name":"abc","nick":"aa","head":"http://aa.png"}},"seqid":"aCb1"}
detailRetCode = 0
错误返回示例:
retCode = 0
seq = 1022
errorMsg = “传入参数错误”
jsonResponse =
{
ret : 4,
errcode : 80008,
msg : "get fans or idols error"
}
message =
{"ret":"4","errcode":"80008","msg":"get fans or idols error"}
detailRetCode = 8
- (void) sendStoryResponse: (APIResponse *)  response
optional

sendStory分享的回调

参数
responseAPI返回结果,具体定义参见sdkdef.h文件中APIResponse
- (void) setUserHeadpicResponse: (APIResponse *)  response
optional

设置QQ头像回调

参数
responseAPI返回结果,具体定义参见sdkdef.h文件中APIResponse
备注
正确返回示例:
retCode = 0
seq = 1012
errorMsg = @”操作成功”
jsonResponse =
{
"is_lost" = 0;
msg = "";
ret = 0;
}
message =
{"ret":0,"msg":"","is_lost":0}
detailRetCode = 0
错误返回示例:
retCode = 0
seq = 1022
errorMsg = @”应用没有操作权限”
jsonResponse =
{
msg = "app have not right for this api";
ret = 100031;
}
message =
{"ret":100031,"msg":"app have not right for this api"}
detailRetCode = 4
- (void) tencentDidLogout
optional

退出登录的回调

- (void) tencentDidUpdate: (TencentOAuth *)  tencentOAuth
optional

用户通过增量授权流程重新授权登录,token及有效期限等信息已被更新。

参数
tencentOAuthtoken及有效期限等信息更新后的授权实例对象
注解
第三方应用需更新已保存的token及有效期限等信息。
- (void) tencentFailedUpdate: (UpdateFailType reason
optional

用户增量授权过程中因取消或网络问题导致授权失败

参数
reason授权失败原因,具体失败原因参见sdkdef.h文件中UpdateFailType
- (BOOL) tencentNeedPerformIncrAuth: (TencentOAuth *)  tencentOAuth
withPermissions: (NSArray *)  permissions 
optional

因用户未授予相应权限而需要执行增量授权。在用户调用某个api接口时,如果服务器返回操作未被授权,则触发该回调协议接口,由第三方决定是否跳转到增量授权页面,让用户重新授权。

参数
tencentOAuth登录授权对象。
permissions需增量授权的权限列表。
返回
是否仍然回调返回原始的api请求结果。
注解
不实现该协议接口则默认为不开启增量授权流程。若需要增量授权请调用incrAuthWithPermissions: (TencentOAuth)
注意:增量授权时用户可能会修改登录的帐号
- (BOOL) tencentNeedPerformReAuth: (TencentOAuth *)  tencentOAuth
optional

[该逻辑未实现]因token失效而需要执行重新登录授权。在用户调用某个api接口时,如果服务器返回token失效,则触发该回调协议接口,由第三方决定是否跳转到登录授权页面,让用户重新授权。

参数
tencentOAuth登录授权对象。
返回
是否仍然回调返回原始的api请求结果。
注解
不实现该协议接口则默认为不开启重新登录授权流程。若需要重新登录授权请调用reauthorizeWithPermissions: (TencentOAuth)
注意:重新登录授权时用户可能会修改登录的帐号
- (void) tencentOAuth: (TencentOAuth *)  tencentOAuth
didSendBodyData: (NSInteger)  bytesWritten
totalBytesWritten: (NSInteger)  totalBytesWritten
totalBytesExpectedToWrite: (NSInteger)  totalBytesExpectedToWrite
userData: (id)  userData 
optional

post请求的上传进度

- (void) tencentOAuth: (TencentOAuth *)  tencentOAuth
doCloseViewController: (UIViewController *)  viewController 
optional

通知第三方界面需要被关闭

- (void) uploadPicResponse: (APIResponse *)  response
optional

上传照片到QZone指定相册回调

参数
responseAPI返回结果,具体定义参见sdkdef.h文件中APIResponse
备注
正确返回示例:
retCode = 0
seq = 1012
errorMsg = nil
jsonResponse =
{
albumid = 0001;
height = 288;
"large_url" = "http://o123.photo.store.qq.com/psb?/0001/Ct**oOJ*g57gzilqB0y86QgfkuybKONE85ZS0z7*buY!/b/dL*jUUmQBwAA/DmQDAA!!&bo=zAEgAQAAAAABAMs!";
lloc = "NDJ0f1E9SBY97VDkbW0Jv.NRSZAHAAA!";
msg = "";
ret = 0;
sloc = "NDJ0f1E9SBY97VDkbW0Jv.NRSZAHAAA!";
"small_url" = "http://o123.photo.store.qq.com/psb?/0001/Ct**oOJ*g57gzilqB0y86QgfkuybKONE85ZS0z7*buY!/a/dL*jUUmQBwAA/DmQDAA!!&bo=zAEgAQAAAAABAMs!";
width = 460;
}
message =
{
"albumid" : "0001",
"height" : 288,
"large_url" : "http:\/\/o123.photo.store.qq.com\/psb?\/0001\/Ct**oOJ*g57gzilqB0y86QgfkuybKONE85ZS0z7*buY!\/b\/dL*jUUmQBwAA\/DmQDAA!!&bo=zAEgAQAAAAABAMs!",
"lloc" : "NDJ0f1E9SBY97VDkbW0Jv.NRSZAHAAA!",
"msg" : "",
"ret" : 0,
"sloc" : "NDJ0f1E9SBY97VDkbW0Jv.NRSZAHAAA!",
"small_url" : "http:\/\/o123.photo.store.qq.com\/psb?\/0001\/Ct**oOJ*g57gzilqB0y86QgfkuybKONE85ZS0z7*buY!\/a\/dL*jUUmQBwAA\/DmQDAA!!&bo=zAEgAQAAAAABAMs!",
"width" : 460
}
detailRetCode = 0
错误返回示例:
retCode = 0
seq = 1022
errorMsg = nil
jsonResponse =
{
msg = "该相册不存在。 错误码:(7191C-801)";
ret = 3801;
}
message =
{
"msg" : "该相册不存在。 错误码:(7191C-801)",
"ret" : 3801
}
detailRetCode = 0

该协议的文档由以下文件生成: