需要帮助才能使 YouTube Java API 代码正常工作

Posted

技术标签:

【中文标题】需要帮助才能使 YouTube Java API 代码正常工作【英文标题】:Need help to get YouTube Java API code working 【发布时间】:2021-04-12 10:43:14 【问题描述】:

在找到此示例 here 后,我正在尝试制作一个调用 API 来检查视频观看次数的简单程序,但遇到了一些麻烦。我在这里找到了初始化 YouTube 对象所需的代码 (https://github.com/youtube/api-samples/blob/master/java/src/main/java/com/google/api/services/samples/youtube/cmdline/data/GeolocationSearch.java#L90)

youtube = new YouTube.Builder(Auth.HTTP_TRANSPORT, Auth.JSON_FACTORY, new HttpRequestInitializer() 
            @Override
            public void initialize(HttpRequest request) throws IOException 
            
        ).setApplicationName("youtube-cmdline-geolocationsearch-sample").build();

我注意到代码需要类Auth,它在导入中定义

import com.google.api.services.samples.youtube.cmdline.Auth;

这是来自 Google 的 api-samples 存储库,不包含在我在 Eclipse 项目中的 Maven pom.xml 中定义的 YouTube API 依赖项中。我决定只复制Auth.java 文件并将其放在我项目的src/main/java 文件夹中,但现在我遇到了另一个问题:Auth.java 中的2 个导入无法解决。这些是:

import com.google.api.client.extensions.java6.auth.oauth2.AuthorizationCodeInstalledApp;
import com.google.api.client.extensions.jetty.auth.oauth2.LocalServerReceiver; 

你可以看到Auth.javahere的全部内容。

我的 pom.xml 文件中的依赖项定义如果有帮助的话:

  <dependencies>
    <dependency>
      <groupId>com.google.apis</groupId>
      <artifactId>google-api-services-youtube</artifactId>
      <version>v3-rev20201202-1.31.0</version>
    </dependency>
  </dependencies>

感谢您花时间阅读本文,希望您能为我找到解决方案。 :)

【问题讨论】:

查看 API 示例程序附带的 pom.xml 【参考方案1】:

感谢 stvar 的评论,我查看了来自 api-samples 存储库的 pom.xml 文件,发现我缺少的是 Google OAuth 客户端。我将以下代码添加到我的pom.xml 并解决了导入问题。

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

【讨论】:

以上是关于需要帮助才能使 YouTube Java API 代码正常工作的主要内容,如果未能解决你的问题,请参考以下文章

用于频道列表的 YouTube Api

Youtube API - 我们需要做啥才能将数据存储超过 30 天?

如何使用 YouTube Java API 通过主题标签获取随机视频

我只(总是)为 Youtube Data Api v3 获得 10 个 nextpagetoken;我怎样才能增加这个?

Youtube api有点延迟

我怎样才能使这个 JSON 数据在 API 上可用?