2010-06-21 111 views
2

问题我应该使用哪种YouTube数据API认证方法?

哪YouTube数据API身份验证方法可以让我上传到单通道视频,而无需强迫我的网站的用户进行身份验证?

  1. 的OAuth
  2. 的AuthSub
  3. 客户端登录

我读过http://code.google.com/apis/youtube/2.0/developers_guide_protocol.html#Authentication,但我仍然不确定。

背景

我on Rails的,这将要求用户上传的视频,并将其与应用程序(而不是他们的YouTube帐户)内的帐户相关联,建立在Ruby中的应用程序。

我不需要他们与YouTube帐户上传视频相关联,这将是完美的罚款有一个YouTube频道上传土地所有视频中,类似于多力多滋师大赛是如何工作的(http://www.youtube.com/user/doritosguru

据我所知,我只需要访问我可以创建的单个YouTube帐户,并通过此帐户上传所有视频。就YouTube而言,这个用户将拥有所有的视频。

我已经通读了不同的认证选项(http://code.google.com/apis/youtube/2.0/developers_guide_protocol.html#Authentication),但仍不确定哪些符合我的需求。

此外,我正在寻找一个红宝石宝石/铁轨插件,这将有助于我想要做什么。 我目前正在寻找http://github.com/edgarjs/youtube-model,但不知道这是否能满足我的需求。

建议?

回答

1

你应该使用ClientLogin方法。 例如,假设您要验证用户名和密码分别为testuser和testpassword的YouTube帐户。您可以模拟使用Linux的“curl”命令HTTP POST请求,如下面的例子:

curl \ 
    --location https://www.google.com/accounts/ClientLogin \ 
    --data 'Email=testuser&Passwd=testpw&service=youtube&source=Test' \ 
    --header 'Content-Type:application/x-www-form-urlencoded' 

如果您的验证请求成功,你的请求的响应将具有以下格式。 (请注意,示例中令牌值已缩短。)

SID=DQAAALQAAAA6wx7byZp-s4BizDqS1OaT21j9dmY6wMjexpQdNC3 
LSID=DQAAALUAAAARH_PvRXoaz23Dv_UmOSUz2_0vh-4XbUedCN9XTZ 
Auth=DQAAALUAAAARH_PvRXoaz23Dv_UmOSUz2_jxJVCGjoulKlhWbU 

当您使用ClientLogin身份验证令牌的身份验证的API请求,请求需要指定授权HTTP请求报头,如下面的例子:

Authorization: GoogleLogin auth=<authentication_token> 
X-GData-Key: key=<developer_key> 

然后可以使用令牌,并将所有上传的内容汇总为一个youtube用户名。

至于宝石,那里有主动的YouTube,youtube_g和其他几个人,但是我还没有发现任何真正简化身份验证过程。大多数只是让你查询顶级视频源和类似的东西。尽管创建应用程序的其余部分,但宝石将成为一个很好的起点。这completed upload script是一个很好的出发点也是如此。谷歌的Authentication Docs

+0

好吧,我给你的回答彻底死的问题。我不再是这个地方居住项目工作的公司,但我认为这就是我们最终与去。 – 2011-03-01 04:56:08

+0

感谢 - 尽管这是一个老问题,那是(我认为)与YouTube认证的SO搜索结果的第2页。希望它可以帮助其他人:) – Danny 2011-03-02 17:17:05

0

只是一个说明,关于允许所有视频上传到一个帐户。不是一个技术点,但如果你会放纵我......

如果该帐户属于你,并且某人上传了受版权保护的材料,那么你将接受包装......如果YouTube获得投诉,那么你的帐户可能会被暂停,这意味着所有视频都不可用,这意味着您的整个应用可能无法使用!

我所做的是在上传视频时向用户询问YouTibe帐户,然后将视频添加到播放列表中,以便在频道上显示。你得到的视频和责任和潜在的损害是限制在一个单一的帐户...

+0

渠道是私人和前公开展示的一切都筛选。不太可能得到投诉。 – 2010-07-27 14:31:58