我一直在使用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库(使用作曲家安装)。我可以通过拨打以下通话来获取有关有效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的一封电子邮件,说他们有新的服务条款和开发人员政策。我审查了所有这些,但似乎没有任何指向我遇到的问题?
不确定还有什么尝试?
尝试在此处查看我的答案,因此重点介绍了如何使用Google API刷新令牌。
您的错误通常是由:
引起的- 当令牌到期时
- 令牌的范围(这很重要)
- 如果令牌无效
如果令牌无效,则可以这样解决:
从数据存储或数据库中删除访问令牌。
使用刷新令牌获取新的访问令牌(如果您使用的是刷新令牌)
尝试再次进行API调用。如果有效,那你很好!如果不是……
检查针对Tokeninfo API
的访问令牌如果仍然无效,请进行完整的reauth
希望这会有所帮助!