alb*_*mia 6 java youtube-api google-api-java-client
我想从我的java web应用程序上传youtube上的视频:我希望收到(服务器端)我的authToken和表单操作,以便上传视频.
现在我正在尝试使用oAuth 2.0实现我的代码.我有accessToken但是,当我尝试调用服务getFormUploadToken(url,object)时,响应始终是相同的" NoLinkedYoutubeAccount错误401 ".
我还通过谷歌支持页面http://www.youtube.com/my_account_unlink验证了该帐户,但似乎没问题.
有人对这个问题有所了解吗?
这是我的代码:
HttpTransport HTTP_TRANSPORT = new NetHttpTransport();
JsonFactory JSON_FACTORY = new JacksonFactory();
String accessToken = "";
GoogleCredential credential = null;
credential = new GoogleCredential.Builder().setTransport(HTTP_TRANSPORT)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId(CLIENT_EMAIL)
.setServiceAccountScopes("http://gdata.youtube.com")
.setServiceAccountPrivateKeyFromP12File(new File(PRIVATE_KEY_PATH))
.build();
credential.refreshToken();
accessToken = credential.getAccessToken();
YouTubeService service = new YouTubeService(CLIENT_ID, DEV_KEY);
service.setAuthSubToken(accessToken, null);
VideoEntry newEntry = new YouTubeMediaGroup mg = newEntry.getOrCreateMediaGroup();
mg.setTitle(new MediaTitle());
mg.getTitle().setPlainTextContent("My Test Movie");
URL uploadUrl = new URL("http://gdata.youtube.com/action/GetUploadToken");
FormUploadToken token = service.getFormUploadToken(uploadUrl, newEntry);
Run Code Online (Sandbox Code Playgroud)
非常感谢,艾伯特三世
您无法将 YouTube 频道与服务帐户关联,并且您正在尝试在服务帐户的上下文中上传。
您不应使用服务帐户,而应使用您实际想要上传到的帐户登录浏览器,并完成 OAuth 2 流程并授权访问。
我了解使用服务帐户的好处,但 YouTube 目前尚未设置为与它们合作。