嗨,我希望有人可以帮助我。
我的本地计算机上有一个 Java 应用程序,我正在尝试将视频上传到 YouTube。
将视频上传到经过身份验证的用户的频道。使用 OAuth 2.0 授权请求。
效果很好。
源代码来自Youtube API V3。
类名称为 com.google.api.services.samples.youtube.cmdline.data.UploadVideo
当我每天运行该应用程序时,一旦我在视频上传到 YouTube 后单击“批准”,就会第一次调用默认浏览器。第二次不调用默认浏览器。效果很好。
但我想在不调用浏览器的情况下,需要将视频上传到youtube。
任何想法 ?请分享我。
我遇到了和你完全相同的问题,我已经解决了。您可以在以下位置找到答案YouTube API v3 Java 授权 https://stackoverflow.com/questions/31097266/youtube-api-v3-java-authorization/31202922#31202922
Edit
抱歉,没有意识到不鼓励仅链接的答案。我很高兴解决了这个问题。添加以下详细信息:
我寻找实现这一目标的方法并找到了。我按照以下说明进行操作https://developers.google.com/identity/protocols/OAuth2ServiceAccount https://developers.google.com/identity/protocols/OAuth2ServiceAccount
您需要一个新的 OAuth 客户端 ID,并在开发者控制台 - API 和身份验证 - 凭据中将其设置为“服务帐户”,然后下载 P12 密钥。
您还需要从开发人员控制台将服务帐户的权限更改为“是所有者”。
然后更改代码
Credential credential = Auth.authorize(scopes, "uploadvideo");
to
GoogleCredential credential = new GoogleCredential.Builder()
.setTransport(httpTransport)
.setJsonFactory(JSON_FACTORY)
.setServiceAccountId(emailAddress)
.setServiceAccountPrivateKeyFromP12File(new File("MyProject.p12"))
.setServiceAccountScopes(Collections.singleton(SQLAdminScopes.SQLSERVICE_ADMIN))
.setServiceAccountUser("[email protected] /cdn-cgi/l/email-protection")
.build();
如上面的 URL 中所指定。 emailAddress 是服务帐户的电子邮件地址,P12 文件名必须更改,Collections.~~~ 应更改为范围(原始示例中的预制范围),最后 serviceAccountUser 应是您原始的 Gmail ID。
我按照上面的方法成功了,希望对你有帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)