【发布时间】:2013-02-19 11:25:12
【问题描述】:
我正在尝试用 Python 开发我的第一个 Google App Engine 应用程序,作为其中的一部分,我希望用户能够将视频上传到 Youtube 并与该应用程序的其他用户分享。根据推荐的协议,上传到他们自己的 Youtube 帐户,应用程序需要捕获的唯一信息是视频 ID。
我真的希望该设施从应用程序内上传,而不是将用户重定向到 Youtube 主站点进行上传,这样用户在任何时候都不需要离开应用程序,以保持无缝连接。我原以为这会相对简单,因为它似乎是许多网站和应用程序都希望提供的功能,但似乎并非如此。
我真的很难理解我需要在这里通过什么 OAuth2 流程,以前从未与他们角力过。 Youtube API 文档中唯一的上传示例代码是从您自己的机器上传(通过命令行),因此这里不相关。我已经向后阅读了文档,听起来基于浏览器的上传工具并没有针对 Youtube Data Api v3 进行更新,所以我需要做的第一件事就是在使用之前从用户那里获取访问令牌v2 基于浏览器的上传协议。鉴于用户将通过他们的浏览器上传本地存储的文件(即在他们的机器上),我假设客户端 JavaScript OAuth2 流是我需要的,而不是 Python 服务器端流。还是我都需要?
问题是我什至无法让人们离开我使用 JavaScript 客户端库从应用程序提供的 html 页面,以便让他们进入授权页面。为了检查我是否了解通过 JavaScript 客户端库获取访问令牌的步骤,我首先尝试将 Google 示例代码从此处剪切并粘贴到 html 页面中:
Google Api Javascript Client Library sample
并将 Api 密钥和客户端 ID 更改为我自己的,更新了控制台上 API 访问窗格上的 JavaScript 来源并授权了 Google+,但单击该按钮什么也没做。
所以大概我在这里误解了一些非常基本的东西!
有什么想法吗? JS 流是否被 Python 应用程序中的流控制覆盖?问题是我实际上应该使用服务器端流程,在这种情况下,我如何让用户从他们自己的浏览器上传,然后在上传后捕获视频 ID?
我不敢相信我是第一个尝试这个的人,如果有人已经解决了这个问题或有任何想法,我将非常感谢任何指点。谢谢。
【问题讨论】:
-
这是一个很好的资源,谢谢你的链接。
标签: google-app-engine file-upload youtube-api oauth-2.0