【问题标题】:YouTube Data API Error 403 Insufficient PermissionYouTube 数据 API 错误 403 权限不足
【发布时间】:2021-01-18 15:29:19
【问题描述】:

我正在开发一个使用 Swift 的 IOS 应用程序,该应用程序需要访问用户的 YouTube 订阅。在 Google Cloud Platform 上添加我需要的所有范围并在 Firebase 中实现 GoogleSignIn 之后。我登录 (GIDSignInButton),然后在发出此请求后收到如下所示的错误:

https://www.googleapis.com/youtube/v3/subscriptions?part=snippet%2CcontentDetails&mine=true&key=\(apiKey)&access_token=\(Access_Token).

Access_Token 是我打电话后得到的:

    func sign(_ signIn: GIDSignIn!, didSignInFor user: GIDGoogleUser!, withError error: Error?){
    user.authentication.accessToken
....}

我得到的错误:

 ["error": {
        code = 403;
        errors =     (
                    {
                domain = global;
                message = "Insufficient Permission";
                reason = insufficientPermissions;
            }
        );
        message = "Request had insufficient authentication scopes.";
        status = "PERMISSION_DENIED";
    }]

在 App Delegate 中我设置了这个:

GIDSignIn.sharedInstance().clientID = FirebaseApp.app()?.options.clientID

【问题讨论】:

    标签: ios swift google-cloud-platform youtube-data-api google-signin


    【解决方案1】:

    我遇到了同样的问题,如果我没记错的话,它发生在我的 OAuth 同意验证状态未经验证时。除了在 Google 仪表板中提供范围之外,我所做的工作是在登录之前以编程方式添加它们。

    GIDSignIn.sharedInstance().scopes.append("https://www.googleapis.com/auth/youtube.upload")
    GIDSignIn.sharedInstance().signIn()
    

    【讨论】:

      【解决方案2】:

      首先,丢弃参数key=(apiKey);授权仅基于access_token=(Access_Token)

      请注意访问令牌是short-lived。您可以发出 HTTPS GET 请求到:

      https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=(Access_Token)

      查看您的访问令牌是否仍然有效。提供的响应将如下所示:

      {
        "error": "invalid_token",
        "error_description": "Invalid Value"
      }
      

      或作为:

      {
        "issued_to": "...",
        "audience": "...",
        "scope": "...",
        "expires_in": 3599,
        "access_type": "offline"
      }
      

      然后仔细检查您是否已将所需的范围附加到该访问令牌,以防它有效。

      【讨论】:

        猜你喜欢
        • 2015-04-19
        • 2021-07-11
        • 2015-07-01
        • 2016-05-04
        • 1970-01-01
        • 2015-10-27
        • 2019-08-11
        • 1970-01-01
        • 2018-03-10
        相关资源
        最近更新 更多