Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Youtube API V3 Java无需调用浏览器即可上传视频_Java_Video_Youtube - Fatal编程技术网

Youtube API V3 Java无需调用浏览器即可上传视频

Youtube API V3 Java无需调用浏览器即可上传视频,java,video,youtube,Java,Video,Youtube,嗨,我希望有人能帮我 我在本地机器上有一个Java应用程序,我正在尝试将视频上传到YouTube 将视频上载到经过身份验证的用户频道。使用OAuth 2.0来授权请求 它工作得很好 源代码来自Youtube API V3。 类名为com.google.api.services.samples.youtube.cmdline.data.UploadVideo 虽然我每天都在运行这个应用程序,但在视频上传到youtube后,我会在第一次点击approve时调用默认浏览器。第二次不调用默认浏览器。它工

嗨,我希望有人能帮我

我在本地机器上有一个Java应用程序,我正在尝试将视频上传到YouTube

将视频上载到经过身份验证的用户频道。使用OAuth 2.0来授权请求

它工作得很好

源代码来自Youtube API V3。 类名为com.google.api.services.samples.youtube.cmdline.data.UploadVideo

虽然我每天都在运行这个应用程序,但在视频上传到youtube后,我会在第一次点击approve时调用默认浏览器。第二次不调用默认浏览器。它工作得很好

但我想在不调用浏览器的情况下,将视频上传到youtube


有什么想法吗?请与我分享。

我遇到了与你完全相同的问题,我已经解决了。你可以在

编辑 抱歉,未意识到不鼓励仅链接答案。我很高兴我解决了这个问题。添加以下详细信息:


我寻找方法来实现这一点,并找到了它。我在办公室里按照指示做了

您需要一个新的OAuth客户机ID,并在开发者控制台-api&auth-Credentials中将其设置为“服务帐户”,然后下载P12密钥

您还需要将服务帐户的权限从开发人员控制台更改为“Is owner”

然后更改代码

Credential credential = Auth.authorize(scopes, "uploadvideo");

如上面的URL中所指定。emailAddress是来自服务帐户的电子邮件地址,P12文件名必须更改,Collections.~~应更改为scopes(原始示例中的预制文件),最后serviceAccountUser应为您的原始Gmail ID


我成功地使用了上述方法,希望能有所帮助。

嗨,我也在做同样的事情,但是得到了
IOException:401未经授权的
。此外,我不能允许服务帐户拥有所有者。你能帮忙吗?
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId(emailAddress)
.setServiceAccountPrivateKeyFromP12File(new File("MyProject.p12"))
.setServiceAccountScopes(Collections.singleton(SQLAdminScopes.SQLSERVICE_ADMIN))
.setServiceAccountUser("user@example.com")
.build();