【问题标题】:403 Forbidden error when deleting YouTube video删除 YouTube 视频时出现 403 禁止错误
【发布时间】:2017-07-12 06:19:12
【问题描述】:

我一直在使用 OAuth 方法在 YouTube 上上传、更新和删除视频。这一切一直运行良好,直到大约 2 月 12 日,所有这些进程都停止工作。现在,当我删除 YouTube 视频时,出现以下错误:

"code": 403, "message": "The video that you are trying to delete cannot be deleted. The request might not be properly authorized."

我知道 OAuth 进程正在运行,因为我可以获取令牌并在令牌过期时刷新令牌。我正在使用 Google 提供的最新 PHP 库(使用 composer 安装)。我可以通过拨打以下电话获取有关有效 YouTube 视频的信息:

$videoId = "xxxxxxx"; //id of video on YouTube
$youtube->videos->listVideos("snippet", array('id' => $videoId));

但随后删除调用给出了上述错误。

$youtube->videos->delete($videoId);

由于 listVideos 有效,因此可以确认 client_id、密钥和令牌是正确的。我还将范围设置为以下

$client->setScopes(array('https://www.googleapis.com/auth/youtube',
'https://www.googleapis.com/auth/youtube.upload',
'https://www.googleapis.com/auth/youtubepartner'));

我还检查了 Google API 中设置的凭据和配额是否正常。我认为可能已经达到配额,但似乎并非如此。我确实在 2 月初看到了来自 YouTube 的一封电子邮件,说他们有新的服务条款和开发者政策。我查看了所有内容,但似乎没有任何内容表明我遇到的问题?

不确定还可以尝试什么?

【问题讨论】:

  • 您是否尝试重新验证您的代码?听起来刷新令牌可能很糟糕,您需要一个新令牌。如果您是 youtube 合作伙伴,您应该联系他们,我相信他们会很乐意提供帮助。
  • 谢谢!问题似乎确实是刷新令牌不再有效。我创建了一个新项目,重新进行了身份验证,希望刷新令牌能持续更长时间。

标签: google-api oauth-2.0 youtube-api google-oauth


【解决方案1】:

尝试在此SO question 中查看我的答案,重点是如何使用 Google API 刷新令牌。

您的错误通常由以下原因引起:

  • 令牌过期时
  • 令牌的范围(这很重要)
  • 如果令牌无效

如果令牌无效,您可以像这样进行故障排除:

  • 从您的数据存储或数据库中删除访问令牌。

  • 使用刷新令牌获取新的访问令牌(如果您使用的是刷新令牌)

  • 尝试再次调用 API。如果它有效,你很好!如果不是……

  • 对照 tokenInfo API 检查访问令牌

  • 如果仍然无效,请重新验证

希望这会有所帮助!

【讨论】:

  • 谢谢 - 问题是刷新令牌由于某种原因不再起作用。重新认证,现在一切正常。
猜你喜欢
  • 1970-01-01
  • 2022-07-15
  • 2015-02-27
  • 2019-08-07
  • 1970-01-01
  • 2016-01-12
  • 2013-07-19
  • 1970-01-01
  • 2014-01-21
相关资源
最近更新 更多