【发布时间】:2014-04-03 22:52:46
【问题描述】:
我要做的基本上是使用 PHP 上传视频,而无需访问 youtube 本身。有几个人需要使用一个表单,并且能够在服务器端完成所有身份验证的情况下上传内容。在上传过程中,它在 Youtube 上的事实甚至不应该是显而易见的(不是秘密,只是希望在不指向其他地方的情况下完成身份验证)。
就像一两年前我用过这个教程:
http://www.damnsemicolon.com/php/php-upload-video-youtube-zend-gdata
但 Google 似乎改变了他们的身份验证方式,因为它不再起作用了。现在显示之前有效的相同内容:
*“致命错误:未捕获的异常 'Zend_Gdata_App_AuthException' 并带有消息 'Authentication with Google failed。原因:BadAuthentication'”*
我还收到了来自谷歌的电子邮件,告诉我他们阻止了我服务器的“可疑”行为。我使用Google Unlock Captcha 授权访问,并将行为标记为我。这并没有解决问题,所以要么没有做任何事情,要么是有其他原因导致了问题。
我一直在尝试使用文档从头开始构建它,但我不擅长理解这些东西。我在第一个链接中使用的代码有一个简单的修复方法吗?还是 google 无法以这种方式将内容发布到您自己的频道?
[密码等正确]
【问题讨论】:
-
YouTube API 上传只能通过 oAuth2 授权,这要求您的应用非常明显地向您的用户表明他们正在授予您访问其帐户的权限。您发布的链接依赖于较旧的 ClientLogin 方法,该方法不再受支持,将来某个时候将被删除。这种变化有很好的理由,因为这种范式可以保护作为应用开发者的您、您的用户及其帐户的隐私/安全,以及 YouTube 作为视频平台的地位。
-
@jlmcdonald 但在这种情况下,OP 只想上传到他自己的频道(即他不需要访问用户的帐户)。那么 Oauth 怎么可能呢?
标签: php api youtube-api