我正在制作一个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的帮助。还渲染代码,以便我们可以为您提供帮助。