嗨,我希望有人可以帮助我。
我的本地计算机上有一个Java应用程序,我正在尝试将视频上传到YouTube。
将视频上传到经过身份验证的用户的频道。使用OAuth 2.0授权请求。
运作良好。
源自Youtube API V3的源代码。 班级名称为com.google.api.services.samples.youtube.cmdline.data.UploadVideo
当我每天运行应用程序时,一旦我将视频上传到youtube后点击批准,我就会第一次调用默认浏览器。第二次不调用默认浏览器。它运作良好。
但我想在不调用浏览器的情况下,需要将视频上传到youtube。
任何想法?请与我分享。
答案 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。
我成功完成了上述方法,希望有所帮助。