You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS端GoogleSignIn 6.0如何在登录时指定scopes避免二次授权弹窗

iOS端GoogleSignIn 6.0 首次登录直接配置scopes方案

GoogleSignIn 6.0 支持在首次调用登录接口时直接传入所需scopes,无需先走基础登录再追加授权,不会触发两次授权弹窗。原版本的scopes属性在6.0中已废弃,替换为登录方法的additionalScopes入参,对应示例代码如下:

Swift 示例

GIDSignIn.sharedInstance.signIn(
    withPresenting: self,
    hint: nil,
    additionalScopes: ["https://www.googleapis.com/auth/youtube.upload"]
) { result, error in
    guard error == nil else {
        // 处理登录错误
        return
    }
    // 登录成功,直接获取带指定scopes的授权凭证
}

Objective-C 示例

GIDSignIn *signIn = [GIDSignIn sharedInstance];
[signIn signInWithPresentingViewController:self
                                      hint:nil
                          additionalScopes:@[@"https://www.googleapis.com/auth/youtube.upload"]
                                completion:^(GIDSignInResult * _Nullable result, NSError * _Nullable error) {
    if (error) {
        // 处理登录错误
        return;
    }
    // 登录成功逻辑
}];

补充说明:

  • 所有需要申请的权限都可以直接放在additionalScopes数组中,首次登录时会一次性弹窗请求所有权限,符合预期交互体验
  • 官方文档提供的两步登录示例仅适用于「登录后才判断需要追加额外权限」的场景,提前明确所需scopes时直接使用上述单次登录流程即可

内容的提问来源于stack exchange,提问作者Deepak Sharma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.10 10:42:01