Youtube 数据 API - 如何避免 Google OAuth 重定向 URL 授权

Youtube Data API - How to avoid Google OAuth redirect URL authorization

要求:我正在尝试通过 Youtube 数据 API 为 Java 将视频上传到我的 Youtube 频道。该请求是从 tomcat 上托管的 war 文件发送的 container.My 应用程序不适用于外部用户,我只用它来上传我自己生成的视频。在 api 文档和示例 youtube 代码片段的帮助下,我已成功地 post 在 youtube 上播放视频。

问题: 问题是每当我尝试 运行 代码时,都会提示我输入

请在浏览器中打开以下地址: https://accounts.google.com/o/oauth2/auth?client_id=&redirect_uri=http://localhost:8080/Callback&response_type=code&scope=https://www.googleapis.com/auth/youtube.upload


因为我 运行 这段代码在远程服务器上,所以我不可能总是在浏览器上打开这个 URL。由于我已经在 Google 控制台中注册了我的网络应用程序,并获得了一对客户端 ID 和机密以及一个 JSON 文件,因此 Youtube 必须默认允许我发布视频以至少我的频道,是的是吗?

我使用了 Auth.java 文件(在 youtube java 代码示例中提供),下面的代码就是发生这种情况的地方。

    // Authorize.
    return new AuthorizationCodeInstalledApp(flow, localReceiver).authorize("user@.com");

LocalServerReceiver localReceiver = new LocalServerReceiver.Builder().setPort(8080).build();

请在这里帮忙,因为这真的占用了我很多开发时间。

您应该只需要验证您的代码一次。当您的代码通过身份验证时,您将获得一个刷新令牌。刷新令牌将允许您在下次代码 运行s 时获得新的访问令牌。

YouTube api 没有服务帐户身份验证。您的代码必须由您首次验证才能获得该刷新令牌。

我不是 java 程序员,但通过快速查看文档,它看起来与我所做的非常相似 in.net。您需要创建一个 datastore 来存储第一个 refresh 令牌,然后您应该能够 运行 您将来的代码而无需再次验证它。