Ios YouTube数据API错误403权限不足
我正在使用Swift开发一个IOS应用程序,需要访问用户的YouTube订阅。在Google云平台上添加了我需要的所有范围,并在Firebase中实现了GoogleSignIn之后。我登录(GIDSignInButton),然后在发出此请求后,我得到如下所示的错误:Ios YouTube数据API错误403权限不足,ios,swift,google-cloud-platform,youtube-data-api,google-signin,Ios,Swift,Google Cloud Platform,Youtube Data Api,Google Signin,我正在使用Swift开发一个IOS应用程序,需要访问用户的YouTube订阅。在Google云平台上添加了我需要的所有范围,并在Firebase中实现了GoogleSignIn之后。我登录(GIDSignInButton),然后在发出此请求后,我得到如下所示的错误: https://www.googleapis.com/youtube/v3/subscriptions?part=snippet%2CcontentDetails&mine=true&key=\(apiKey)&access\u t
https://www.googleapis.com/youtube/v3/subscriptions?part=snippet%2CcontentDetails&mine=true&key=\(apiKey)&access\u token=\(access\u 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";
}]
在应用程序中,我设置了以下内容:
GIDSignIn.sharedInstance().clientID = FirebaseApp.app()?.options.clientID
首先,放弃参数
key=(apiKey)
;授权仅基于access\u token=(access\u token)
请注意,访问令牌是。您可以向以下人员发出HTTPSGET
请求:
https://www.googleapis.com/oauth2/v1/tokeninfo?access_token=(访问令牌)
以查看您的访问令牌是否仍然有效。提供的答复可能是:
{
"error": "invalid_token",
"error_description": "Invalid Value"
}
或作为:
{
"issued_to": "...",
"audience": "...",
"scope": "...",
"expires_in": 3599,
"access_type": "offline"
}
然后再次检查是否将所需的作用域附加到该访问令牌,以防其有效。我也遇到了同样的问题,如果我没有记错的话,它是在我的OAuth同意验证状态未验证时发生的。我所做的工作是,除了在Google仪表板中提供作用域之外,我在登录之前以编程方式添加了它们
GIDSignIn.sharedInstance().scopes.append("https://www.googleapis.com/auth/youtube.upload")
GIDSignIn.sharedInstance().signIn()