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

时间:2015-05-23 08:04:07

标签: java video youtube

嗨,我希望有人可以帮助我。

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

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

运作良好。

源自Youtube API V3的源代码。 班级名称为com.google.api.services.samples.youtube.cmdline.data.UploadVideo

当我每天运行应用程序时,一旦我将视频上传到youtube后点击批准,我就会第一次调用默认浏览器。第二次不调用默认浏览器。它运作良好。

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

任何想法?请与我分享。

1 个答案:

答案 0 :(得分:2)

我遇到了和你一样的问题,我想通了。您可以在YouTube API v3 Java authorization

找到答案

修改

抱歉,我们没有意识到仅限链接的答案。我很高兴我解决了这个问题。添加以下详细信息:

我找到了实现这个目标的方法并找到了它。我按照https://developers.google.com/identity/protocols/OAuth2ServiceAccount

上的说明进行操作

您需要一个新的OAuth客户端ID,并将其设置为"服务帐户"在开发人员控制台 - API& auth - 凭据,然后下载P12密钥。

您还需要将服务帐户的权限更改为"是否为所有者"来自开发者控制台。

然后更改代码

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

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();

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

我成功完成了上述方法,希望有所帮助。