我的主要问题是:我可以使用从服务帐户获得的访问令牌将视频上传到 youtube 吗?
帐户是新帐户,已连接到 youtube,频道已创建,并以以下模式获取访问令牌:
$client = new Google_Client();
$client->setApplicationName('Youtube Login');
$key = file_get_contents($key_file);
$client->setClientId($client_id);
$client->setAssertionCredentials(new Google_AssertionCredentials(
$service_account_name,
array(
'https://www.googleapis.com/auth/youtube.upload',
'https://www.googleapis.com/auth/youtube'
'https://gdata.youtube.com/action/GetUploadToken',
'https://gdata.youtube.com'
),
$key)
);
$client::$auth->refreshTokenWithAssertion();
$json = $client->getAccessToken();
$accessToken = json_decode($json)->access_token;
所以访问令牌是可以的。现在,当我创建标题并插入访问令牌和开发人员密钥以及此处描述的所有内容时:https ://developers.google.com/youtube/2.0/developers_guide_protocol_browser_based_uploading 我收到 NoLinkedYouTubeAccount 错误。
如果不能使用服务帐户以这种方式上传视频,有没有办法在视频上传中跳过用户交互?
我们有该帐户,但我们不希望仅仅因为 ClientLogin 已弃用且 Youtube API v2.0 不支持 OAuth2 服务帐户访问令牌而将用户重定向到任何地方。
有办法吗?搜索了整个网络,看到类似的未回答的问题,但一无所获。