分享到 :

TencentSessionDelegate

TencentSessionDelegate为开放接口回调协议,第三方应用需要实现每条需要调用的API的回调协议。

// 退出登录的回调
- (void)tencentDidLogout;
// 因用户未授予相应权限而需要执行增量授权。在用户调用某个api接口时,如果服务器返回操作未被授权,则触发该回调协议接口,由第三方决定是否跳转到增量授权页面,让用户重新授权。
- (BOOL)tencentNeedPerformIncrAuth :(TencentOAuth *)tencentOAuth
withPermissions:(NSArray *)permissions;
参数含义
tencentOAuth登录授权对象
permissions需增量授权的权限列表
返回值是否仍然回调返回原始的api请求结果

备注:不实现该协议接口则默认为不开启增量授权流程。若需要增量授权请调用[TencentOAuth incrAuthWithPermissions:]

注意:增量授权时用户可能会修改登录的帐号

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

参数含义同上,此处不做赘述。

备注:不实现该协议接口则默认为不开启重新登录授权流程。若需要重新登录授权请调用[TencentOAuth reauthorizeWithPermissions: ]

注意:重新登录授权时用户可能会修改登录的帐号

// 用户通过增量授权流程重新授权登录,token及有效期限等信息已被更新。
- (void)tencentDidUpdate:(TencentOAuth *)tencentOAuth;
参数含义
tencentOAuthtoken及有效期限等信息更新后的授权实例对象
// 用户增量授权过程中因取消或网络问题导致授权失败。
- (void)tencentFailedUpdate:(UpdateFailType)reason;
参数含义
reason授权失败原因

reason为UpdateFailType枚举类型,其枚举值含义如下:

UpdateFailType含义
kUpdateFailUnknown未知原因
kUpdateFailUserCancel用户取消
kUpdateFailNetwork网络问题

以下是本协议中一系列回调函数,参数均为APIResponse类型,表示API返回结果,每个回调对应这一个操作:

// 获取用户个人信息回调
- (void)getUserInfoResponse:(APIResponse*) response;
// 获取用户QZone相册列表回调
- (void)getListAlbumResponse:(APIResponse*) response;
// 获取用户QZone相片列表回调
- (void)getListPhotoResponse:(APIResponse*) response;
// 检查是否是QZone某个用户的粉丝回调
- (void)checkPageFansResponse:(APIResponse*) response;
// 分享到QZone回调
- (void)addShareResponse:(APIResponse*) response;
// 在QZone相册中创建一个新的相册回调
- (void)addAlbumResponse:(APIResponse*) response;
// 上传照片到QZone指定相册回调
- (void)uploadPicResponse:(APIResponse*) response;
// 在QZone中发表一篇日志回调
- (void)addOneBlogResponse:(APIResponse*) response;
// 在QZone中发表一条说说回调
- (void)addTopicResponse:(APIResponse*) response;
// 设置QQ头像回调
- (void)setUserHeadpicResponse:(APIResponse*) response;
// 获取QQ会员信息回调
- (void)getVipInfoResponse:(APIResponse*) response;
// 获取QQ会员详细信息回调
- (void)getVipRichInfoResponse:(APIResponse*) response;
// sendStory分享的回调(已废弃,使用responseDidReceived:forMessage:)
- (void)sendStoryResponse:(APIResponse*) response;

除了以上一对一的回调函数,还有一个回调函数集成了几个操作,如下:

// 社交API统一回调接口
- (void)responseDidReceived:(APIResponse*)response
forMessage:(NSString *)message;
参数含义
responseAPI返回结果
message响应的消息,目前支持‘SendStory’,‘AppInvitation’,‘AppChallenge’,‘AppGiftRequest’
// post请求的上传进度
- (void)tencentOAuth :(TencentOAuth *)tencentOAuth
didSendBodyData :(NSInteger)bytesWritten
totalBytesWritten :(NSInteger)totalBytesWritten
totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite
userData :(id)userData;
参数含义
tencentOAuth返回回调的tencentOAuth对象
bytesWritten本次回调上传的数据字节数
totalBytesWritten总共已经上传的字节数
totalBytesExpectedToWrite总共需要上传的字节数
userData用户自定义数据
// 通知第三方界面需要被关闭
- (void)tencentOAuth:(TencentOAuth *)tencentOAuth
doCloseViewController:(UIViewController *)viewController;
参数含义
tencentOAuth返回回调的tencentOAuth对象
viewController需要关闭的viewController
返回顶部