Google YouTube API - 无人值守上传

Google YouTube API - unattended upload

我目前正在尝试创建一个无人值守的应用程序,它将自动创建和删除频道上的视频。

由于 OAuth 2.0 是 YouTube api 的最新版本,我想知道如何在不不断重新验证令牌的情况下解决这个问题。

似乎有一些关于 Google 的文档表明服务帐户是解决此问题的方法,然后文档表明没有。

https://code.google.com/p/google-api-java-client/wiki/OAuth2#Authorization_Code_Flow

https://code.google.com/p/gdata-issues/issues/detail?id=5370

任何人都可以指出正确的方向来解决这个问题吗?这将是一个 Java 应用程序,它使用调度程序作业来执行工作。

以下 returns 禁止的 403 JSON 异常:

credential = new GoogleCredential.Builder()
            .setTransport(httpTransport)
            .setJsonFactory(JSON_FACTORY)
            .setServiceAccountId(emailAddress)
           // .setServiceAccountUser("propertypal@gmail.com")
            .setServiceAccountScopes(scopes)
            .setServiceAccountPrivateKeyFromP12File(new File("D:\Youtube\YoutubeUploader.p12"))
            .build();

感谢任何有关流程的指导。

您不能在 YouTube 上使用服务帐户 API

Issue 5370: Youtube v3 Google Service Account Access

您将需要使用普通的 Oauth2 方法验证您的代码一次。保存您的刷新令牌,然后从那时起将该刷新令牌用于 运行。