有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

嗨,我希望有人能帮我

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

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

它工作得很好

源代码来自Youtube API V3。 类名是com。谷歌。应用程序编程接口。服务。样品。youtube。cmdline。数据上传视频

虽然我每天都在运行这个应用程序,但在视频上传到youtube后,我会在第一次点击approve时调用默认浏览器。第二次不调用默认浏览器。它工作得很好

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

有什么想法吗?请和我分享


共 (1) 个答案

  1. # 1 楼答案

    我和你有着完全相同的问题,我也解决了。你可以在YouTube API v3 Java authorization找到答案

    编辑

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


    我寻找方法来实现这一点,并找到了它。我按照https://developers.google.com/identity/protocols/OAuth2ServiceAccount的指示行事

    您需要一个新的OAuth客户端ID,并将其设置为开发者控制台中的“服务帐户”——API&;验证凭据,然后下载P12密钥

    您还需要将服务帐户的权限从开发人员控制台更改为“Is owner”

    然后更改代码

    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文件名,集合。~~~应该更改为scopes(原始示例中的预制),最后serviceAccountUser应该是您的原始Gmail ID

    我用上述方法成功了,希望对你有所帮助