【问题标题】:Youtube API V3 Java Any possible without invoking browser to upload videoYoutube API V3 Java 无需调用浏览器即可上传视频
【发布时间】:2015-08-05 06:51:39
【问题描述】:

您好,希望有人能帮帮我。

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

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

运行良好。

从 Youtube API V3 获取的源代码。 类名是 com.google.api.services.samples.youtube.cmdline.data.UploadVideo

虽然我每天都运行应用程序,但在我将视频上传到 youtube 后单击批准后,我第一次调用默认浏览器。第二次不调用默认浏览器。效果很好。

但我想不调用浏览器,需要将视频上传到 youtube。

有什么想法吗?请分享给我。

【问题讨论】:

    标签: java video youtube


    【解决方案1】:

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

    编辑

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


    我寻找方法来实现这一点并找到了它。我按照https://developers.google.com/identity/protocols/OAuth2ServiceAccount的说明进行操作

    您需要一个新的 OAuth 客户端 ID,并在 Developers Console - APIs & auth - Credentials 中将其设置为“服务帐户”,然后下载 P12 密钥。

    您还需要在 Developers Console 中将服务帐户的权限更改为“是所有者”。

    那就改代码

    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 文件名必须更改,Collections.~~~ 应更改为范围(原始示例中的预制),最后 serviceAccountUser 应为您的原始Gmail ID。

    上面的方法我成功了,希望对你有帮助。

    【讨论】:

    • 嗨,我正在做同样的事情,但得到了IOException: 401 Unauthorized。另外,我不能允许服务帐户拥有所有者。你能帮忙吗?
    猜你喜欢
    • 2020-09-03
    • 2015-03-22
    • 2020-06-01
    • 1970-01-01
    • 2013-05-29
    • 2020-03-14
    • 2013-06-08
    • 1970-01-01
    • 2014-10-13
    相关资源
    最近更新 更多