You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java使用YouTube Data API v3实现登录时过时导入类问题如何解决

Java调用YouTube Data API授权过时类替代方案

方案1:补充依赖复用原有代码逻辑

你提到的两个类仅从核心包拆分到了独立扩展组件,并未完全废弃,补充对应依赖后即可直接使用原有代码:

Maven依赖配置

<dependency>
    <groupId>com.google.oauth-client</groupId>
    <artifactId>google-oauth-client-java6</artifactId>
    <version>1.34.1</version>
</dependency>
<dependency>
    <groupId>com.google.oauth-client</groupId>
    <artifactId>google-oauth-client-jetty</artifactId>
    <version>1.34.1</version>
</dependency>

Gradle依赖配置

implementation 'com.google.oauth-client:google-oauth-client-java6:1.34.1'
implementation 'com.google.oauth-client:google-oauth-client-jetty:1.34.1'

添加依赖后原有导入语句和授权代码不需要修改,可直接运行完成账号授权。

方案2:无扩展包依赖手动实现授权逻辑

如果不想引入jetty相关依赖,可通过以下步骤手动完成授权:

  • 构建授权链接引导用户在浏览器完成账号授权
  • 捕获回调返回的authorization code
  • 用code兑换凭证生成Credential对象

对应代码示例:

// 构建授权链接
String authorizationUrl = flow.newAuthorizationUrl()
        .setRedirectUri("urn:ietf:wg:oauth:2.0:oob")
        .build();
System.out.println("请在浏览器打开以下链接完成授权: " + authorizationUrl);
System.out.println("输入授权后返回的code: ");
// 读取用户输入的code
String code = new BufferedReader(new InputStreamReader(System.in)).readLine();
// 兑换凭证
Credential credential = flow.newTokenRequest(code)
        .setRedirectUri("urn:ietf:wg:oauth:2.0:oob")
        .execute();

该方案需要你在Google Cloud控制台将OAuth客户端的授权重定向URI配置为urn:ietf:wg:oauth:2.0:oob,适用桌面端测试场景。

注意事项

  • 授权申请的scope需包含YouTube Data API对应权限,常用权限为https://www.googleapis.com/auth/youtube.force-ssl
  • 生成的Credential对象可直接传入YouTube客户端构造参数,后续接口调用逻辑和官方示例一致

内容的提问来源于stack exchange,提问作者NiniMine

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 13:12:01