需要實作使用者的增量授權:
實作以下代理方法即可正常授權登入:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
- (BOOL)tencentNeedPerformIncrAuth:(TencentOAuth *)tencentOAuth withPermissions:(NSArray *)permissions
{
// incrAuthWithPermissions是增量授權時需要調用的登入接口
// permissions是需要增量授權的權限清單
[tencentOAuth incrAuthWithPermissions:permissions];
return NO; // 傳回NO表明不需要再回傳未授權API接口的原始請求結果;
// 否則可以傳回YES
}
- (void)tencentDidUpdate:(TencentOAuth *)tencentOAuth
{
// _labelTitle.text = @"增量授權完成";
NSLog(@"增量授權完成");
if (tencentOAuth.accessToken
&& 0 != [tencentOAuth.accessToken length])
{ // 在這裡第三方應用需要更新自己維護的token及有效期限等資訊
// **務必在這裡檢查使用者的openid是否有變更,變更需重新拉取使用者的資料等資訊** _labelAccessToken.text = tencentOAuth.accessToken;
}
else
{
NSLog(@"增量授權不成功,沒有擷取accesstoken");
}
}
- (void)tencentFailedUpdate:(UpdateFailType)reason
{
switch (reason)
{
case kUpdateFailNetwork:
{
// _labelTitle.text=@"增量授權失敗,無網絡連接配接,請設定網絡";
NSLog(@"增量授權失敗,無網絡連接配接,請設定網絡");
break;
}
case kUpdateFailUserCancel:
{
// _labelTitle.text=@"增量授權失敗,使用者取消授權";
NSLog(@"增量授權失敗,使用者取消授權");
break;
}
case kUpdateFailUnknown:
default:
{
// _labelTitle.text=@"增量授權失敗,未知錯誤";
NSLog(@"增量授權失敗,未知錯誤");
break;
}
}
}
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>