要求:我正在尝试通过Youtube Data API for Java将视频上传到我的Youtube频道。该请求是从托管在tomcat容器上的war文件发送的。我的应用程序不适用于外部用户,我只使用它来上传我自己生成的视频。借助api文档和示例youtube代码段,我已成功设法在youtube上发布视频。
问题:问题是每当我尝试运行代码时,都会收到提示
请在浏览器中打开以下地址: this & redirect_uri = https://accounts.google.com/o/oauth2/auth?client_id=
由于我在远程服务器上运行此代码,因此我无法始终在浏览器上打开此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();
请在这里帮忙,因为这真的耗费了我很多的开发时间。
答案 0 :(得分:1)
您只需要验证一次代码。验证代码后,您将获得刷新令牌。然后,刷新令牌将允许您在下次运行代码时获取新的访问令牌。
YouTube api没有服务帐户身份验证。您的代码必须在第一时间通过身份验证才能获得刷新令牌。
我不是java程序员,但通过快速检查文档,它看起来与我在.NET中的工作方式非常相似。您需要创建一个datastore来存储第一个刷新令牌,然后您应该能够在将来运行您的代码而无需再次对其进行身份验证。