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

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

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

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

它运作良好。

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

虽然我每天运行应用程序,一旦我在video上传到youtube后点击批准,就会首次调用默认浏览器。 第二次不调用默认浏览器。 它运作良好。

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

任何的想法 ? 请分享我

我遇到了和你一样的问题,我想通了。 您可以在YouTube API v3 Java授权中找到答案

编辑

对不起,没有意识到不鼓励仅链接的答案。 我很高兴我解决了这个问题。 添加以下详细信息:


我找到了实现这一目标的方法并找到了它。 我按照https://developers.google.com/identity/protocols/OAuth2ServiceAccount上的说明操作

您需要一个新的OAuth客户端ID,并在开发人员控制台中将其设置为“服务帐户” – APIs&auth – Credentials,然后下载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。

我成功用上面的方法,希望它有所帮助。