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。
我成功用上面的方法,希望它有所帮助。