您应该使用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'
如果您的身份验证请求成功,则对您请求的响应将采用以下格式。 (请注意,示例中的 token 值已缩短。)
SID=DQAAALQAAAA6wx7byZp-s4BizDqS1OaT21j9dmY6wMjexpQdNC3
LSID=DQAAALUAAAARH_PvRXoaz23Dv_UmOSUz2_0vh-4XbUedCN9XTZ
Auth=DQAAALUAAAARH_PvRXoaz23Dv_UmOSUz2_jxJVCGjoulKlhWbU
当使用ClientLogin身份验证 token 发出经过身份验证的API请求时,您的请求需要指定Authorization HTTP请求 header ,如下例所示:
Authorization: GoogleLogin auth=<authentication_token>
X-GData-Key: key=<developer_key>
然后,您可以在应用程序的其余部分中使用 token ,并将所有上传的内容打包到一个youtube用户名中。
至于 gem ,有active-youtube,youtube_g和其他一些,但是我还没有找到能真正简化身份验证过程的任何东西。大多数只允许您查询热门视频供稿和类似内容。尽管可以扩展应用程序的其余部分,但gem是一个不错的起点。这个
completed upload script也是一个很好的起点。 Google的
Authentication Docs