Youtube Data API - 如何避免Google OAuth重定向网址授权

aya*_*587 5 youtube youtube-api google-oauth youtube-data-api google-oauth-java-client

要求:我正在尝试通过Youtube Data API for Java将视频上传到我的Youtube频道.该请求是从托管在tomcat容器上的war文件发送的.我的应用程序不适用于外部用户,我只使用它来上传我自己生成的视频.在api文档和示例youtube代码片段的帮助下,我已成功设法在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();
Run Code Online (Sandbox Code Playgroud)

请帮忙,因为这真的耗费了我很多的开发时间.

DaI*_*mTo 2

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

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

我不是一个 java 程序员,但从快速检查文档来看,它看起来与我在 .net 中所做的非常相似。您需要创建一个数据存储来存储第一个刷新令牌,然后您应该能够在将来运行代码而无需再次进行身份验证。