我很累,三天没有睡觉,我卡在一件事情上,这个 youtube 上传的事情。
这个非常简单的 POST 过程总是会导致:“需要用户身份验证”
这就是我模仿的:
POST /resumable/feeds/api/users/default/uploads HTTP/1.1
Host: uploads.gdata.youtube.com
Authorization: Bearer ACCESS_TOKEN
GData-Version: 2
X-GData-Key: key=adf15ee97731bca89da876c...a8dc
Content-Length: 0
Slug: my_file.mp4
到目前为止,这就是我所做的:
#!/usr/bin/perl
use 5.010;
use strict;
use warnings;
use LWP::Simple;
my $r = LWP::UserAgent->new()->post(
"https://uploads.gdata.youtube.com/resumable/feeds/api/users/default/uploads",
Content_Type => "application/atom+xml; charset=UTF-8",
[
'POST /resumable/feeds/api/users/default/uploads HTTP/1.1',
Host => "uploads.gdata.youtube.com",
'Authentication' => "Bearer xxxxxx",
'GData-Version' => "2",
'X-GData-Key' => "key=xxxxx",
Content_Length => "0",
'Slug' => "C:/YouTube.wmv",
]
);
say $r->content;
我尝试了所有身份验证,Oath2,clientLogin,我可以登录并获取 access_token,问题是我无法上传,
我喜欢 perl,我讨厌使用 perl 的 youtube 没有支持库这一事实(有,但它非常过时和直接上传功能没有明确记录或可能根本没有)请帮助我,我非常需要这个,我真的坚持这一点,我不知道是我的问题还是youtube的问题。
感谢您花时间阅读本文,非常感谢。