GoogleSignin不与YouTube API(SWIFT)一起使用



我正在制作一个iOS应用程序,用户可以在其中观看YouTube频道的视频。我希望我的用户能够喜欢和不喜欢视频。我有一个想对YouTube视频进行评分的按钮。这是我从YouTube的速率API

中获得的按钮的功能
func rateButtonTapped() {
    Alamofire.request("https://www.googleapis.com/youtube/v3/videos/rate", parameters: ["id":VIDEOID,"rating":"like","key":API_KEY], encoding: URLEncoding.default, headers: nil)
}

这需要授权。因此,我遵循了Google的Googlesignin指南,并正如Google所说的那样将其实施到我的应用中。据我所知,它正在奏效。用户按GIDSignInButton,然后用户登录其Google帐户并允许访问。我目前只附加了一个范围

GIDSignIn.sharedInstance().scopes.append("https://www.googleapis.com/auth/youtube.force-ssl")

对YouTube视频进行评分是必需的。但是,我从Alamofire回来的字符串响应是

SUCESS: Not Found

和视频未评分。因此,我回到了YouTube的速率API页面上,在底部,我发现:

错误类型 notfound(404(

错误详细信息 videonotfound

描述找不到您要评估的视频。检查请求的ID参数的值,以确保其是正确。

所以我认为我的videoid变量(在alamofire请求中调用(只是不正确的。因此,我在YouTube的Rate API页面上使用了YouTube提供的ID。相同的响应,没有评分。有人知道发生了什么事吗?我很难过。

我正在使用swift

是问题的视频参数(检查链接中的404错误推理(。

我怀疑该变量是可选的,因此参数读取诸如" id":可选(videoid(]或打印时迅速格式的内容。

我总是创建一个参数属性来创建字典,然后检查(打印(,然后作为参数传递到alamofirerequest。

遵循以下选项,以解决问题的确切原因。只需将此链接与您的 ID一起用作Videoid ,并使用Oauth2.0在Googles apiexplorer中授权您的httprequest(单击此处(。

希望您能看到在给定的视频ID中可以看到评分。证明这些行是错误的。

所以我认为我的videoid变量(在alamofire请求中调用(只是不正确的。因此,我在YouTube的Rate API页面上使用了YouTube提供的ID。相同的响应,没有评分。

现在,当OAuth2.0请求授权中发生故障时。返回

找不到

请在此处使用OAuth2.0服务请求请求授权请求以提供整数OAuth的帮助。还渲染代码,以便我们可以为您提供帮助。

最新更新