【问题标题】:Allowing Google Service Account YouTube Upload Access via API v3允许通过 API v3 访问 Google 服务帐户 YouTube 上传访问权限
【发布时间】:2015-02-12 00:04:08
【问题描述】:

我想在没有用户参与的情况下自动将视频上传到 YouTube,所以我创建了一个服务帐户,跳过了障碍,一切看起来都很棒,然后尝试上传,第一个块,我的代码因这个 Google_Exception 异常而爆炸:

“无法启动可恢复上传(HTTP 401:youtube.header,未授权)”

然后我在 YouTube API v3 上挖掘发现错误信息:

https://developers.google.com/youtube/v3/docs/errors

“如果您尝试使用 OAuth 2.0 服务帐户流程,通常会出现此错误。YouTube 不支持服务帐户,如果您尝试使用服务帐户进行身份验证,您将收到此错误错误。”

这是正确的吗?我无法使用服务帐号将视频自动上传到 YouTube?

(浪费了几天的辛苦工作!)

【问题讨论】:

  • 感谢克劳德。刚才我正要走这条路。你提醒了我。

标签: youtube-api service-accounts


【解决方案1】:

是的,没错。

前进的方法是进行手动授权并获取生成的“刷新令牌”,然后将其用于任何自动上传。

确保在执行任何其他操作之前将刷新令牌添加到 PHP Google_Client 对象。

我现在正在自动上传到 YouTube。

【讨论】:

  • 谢谢!我遇到了完全相同的问题,您自己的回答给了我有用的提示。对于那些也有这个问题的人:需要一种叫做“离线访问”的东西。谷歌refresh_token 和离线访问。您需要一个“Web 应用程序的客户端 ID”才能获得 refresh_token。对于所有其他请求,您需要客户端 ID 和 refresh_token。这是一个有用的链接developers.google.com/accounts/docs/OAuth2WebServer#offline
  • 当然你还需要一个客户端密码 ;)
  • domsammut.com/code/… 是如何做到这一点的一个很好的参考
猜你喜欢
  • 2019-01-11
  • 2021-09-05
  • 1970-01-01
  • 1970-01-01
  • 2014-04-21
  • 1970-01-01
  • 2012-10-10
  • 2017-11-17
  • 1970-01-01
相关资源
最近更新 更多