Java – YouTube Data API を使って動画をキーワードで検索する on Ubuntu No.82

自己投資としてチャレンジしている内容を Blog で公開しています。

今回は YouTube Data API を使って動画を、キーワードで検索する Java コードを紹介したいと思います。Ubuntu の環境で VS Code を利用し Java を実行しています。(In English Java – Search YouTube using YouTube Data API on Ubuntu No.82)

▼1. YouTube Data API の API Key の取得方法

プロジェクト作成後、YouTube Data API v3 の API を有効化します。その後 API のキーを発行します。以下の情報や他の blog を参考に API Key を用意します。


▼2. 事前準備

2-1. JDK のインストール

zulu の Java 8 openjdk x64 をインストールします。

mkdir  -p /usr/lib/jvm/
cd /usr/lib/jvm/
sudo wget https://cdn.azul.com/zulu/bin/zulu8.66.0.15-ca-jdk8.0.352-linux_x64.tar.gz
sudo tar -xzvf zulu8.66.0.15-ca-jdk8.0.352-linux_x64.tar.gz
sudo mv zulu8.66.0.15-ca-jdk8.0.352-linux_x64 java-8-openjdk-linux_x64

環境変数を設定します。

Vi などのエディター (vi ~/.bashrc) で ~/.bashrc の末尾に以下を記載します。

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-x64/

JAVA_HOME の環境変数がが正しく設定されたか確認します。

echo $JAVA_HOME

2-2. Visual Studio Code のインストール

https://code.visualstudio.com/docs/setup/linux

sudo snap install --classic code

2-3. Maven のインストール

Apache Kafka Word Count 実装 – Java No.442-3. Apache Maven のインストール” を参照


▼3. YouTube Data API を使って動画をキーワードで検索する Java コード

3-1. Apache Maven によるプロジェクトを作成

mvn archetype:generate -DinteractiveMode=false -DgroupId=org.example.youtubetest -DartifactId=youtubesearch -DarchetypeArtiFactId=maven-archetype-quickstart

3-2. デフォルトで作成された App.java および AppTest.java を削除

rm ./youtubesearch/src/main/java/org/example/youtubetest/App.java 
rm ./youtubesearch/src/test/java/org/example/youtubetest/AppTest.java

3-3. Visual Studio Code を起動

cd ./youtubeapi/youtubesearch
code .

3-4. youtube.properties のファイルを作成

youtube.properties のファイルを作成し、上記 1 で作成した API KEY を “YOUR_SIMPLE_API_KEY_HERE” の部分にコピペし、ファイルを保存じます。

cd ./youtubeapi/youtubesearch
mkdir -p ./src/main/resources/
cd ./src/main/resources/
code youtube.properties
# youtube.properties の中身
youtube.apikey=YOUR_SIMPLE_API_KEY_HERE
youtube.properties

3-5. pom.xml に以下を追記し保存 (Ctrl+S)

Java コード サンプル  |  YouTube Data API  |  Google Developers の pom.xml を参照

xxx
  <properties>
    <project.youtube.version>v3-rev8-1.12.0-beta</project.youtube.version>
    <project.http.version>1.12.0-beta</project.http.version>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  </properties>

  <repositories>
    <repository>
      <id>google-api-services</id>
      <url>http://google-api-client-libraries.appspot.com/mavenrepo</url>
    </repository>
  </repositories>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
    <!-- YouTube Data V3 support -->
    <dependency>
      <groupId>com.google.apis</groupId>
      <artifactId>google-api-services-youtube</artifactId>
      <version>${project.youtube.version}</version>
    </dependency>
    <dependency>
      <groupId>com.google.http-client</groupId>
      <artifactId>google-http-client-jackson2</artifactId>
      <version>${project.http.version}</version>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.2.1</version>
        <configuration>
          <mainClass>com.google.api.services.samples.youtube.cmdline.youtube_cmdline_search_sample.Search</mainClass>
        </configuration>
      </plugin>

      <!-- Forces Maven to use Java 1.6 -->
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>2.3.2</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
          <compilerArgument></compilerArgument>
        </configuration>
      </plugin>
    </plugins>
  </build>

xxx

3-6. youtubesearch.java を作成

コードは Search.java をコピペし利用します。今回 Class の名前が youtubesearch なので、テンプレートの search から youtubesearch  に変更しました。

Java コード サンプル  |  YouTube Data API  |  Google Developers

3-7. youtubesearch.java を実行

youtubesearch.java コードを実行すると、ターミナルで検索キーワードが聞かれます。

今回の例では、私が以前作成した YouTube を検索するため、キーワード ”Investment Watcher WealthNavi” を入れた結果が以下となります。

Please enter a search term: Investment Watcher WealthNavi

=============================================================
   First 25 videos for search on "Investment Watcher WealthNavi".
=============================================================

 Video Idyb7MAadW-EE
 Title: 2020/03【答え合わせ】ロボアドバイザーWealthNavi の運用実績 No3 Let’s show the results of WealthNavi
 Thumbnail: https://i.ytimg.com/vi/yb7MAadW-EE/default.jpg

-------------------------------------------------------------

 Video Id1BNgED4goGY
 Title: 2020/02【答え合わせ】ロボアドバイザーWealthNavi の運用実績 No2 - Let’s show the results of  WealthNavi
 Thumbnail: https://i.ytimg.com/vi/1BNgED4goGY/default.jpg

-------------------------------------------------------------

 Video IdFO7senEUYGs
 Title: 2020/04【答え合わせ】ロボアドバイザーWealthNavi の運用実績 No4- The results of playing the stock market by WealthNavi
 Thumbnail: https://i.ytimg.com/vi/FO7senEUYGs/default.jpg

-------------------------------------------------------------

 Video IdBr6qlyb7z3E
 Title: 2020/05【答え合わせ】ロボアドバイザーWealthNavi の運用実績 No5 - The results of playing the stock market by WealthNavi
 Thumbnail: https://i.ytimg.com/vi/Br6qlyb7z3E/default.jpg

-------------------------------------------------------------

 Video Id-5-eGf7mOPo
 Title: 2020/01 - WealthNavi の運用実績を紹介! No1 - Let’s introduce the result of
 Thumbnail: https://i.ytimg.com/vi/-5-eGf7mOPo/default.jpg

-------------------------------------------------------------

 Video Id4cd_AbDWAOk
 Title: 【答え合わせ】 ロボアドバイザー WealthNavi の運用実績!No12 -2020/12 上がりすぎ !? Much higher than a public value
 Thumbnail: https://i.ytimg.com/vi/4cd_AbDWAOk/default.jpg

-------------------------------------------------------------

xxx

3-8. Video id をもとに、実際に YouTube を確認

以下の場合、Video Id4cd_AbDWAOk の Video Id 以降 4cd_AbDWAOk をコピーし https://www.youtube.com/watch?v= の後ろに追記します。

(結果の一部)

Video Id4cd_AbDWAOk
 Title: 【答え合わせ】 ロボアドバイザー WealthNavi の運用実績!No12 -2020/12 上がりすぎ !? Much higher than a public value
 Thumbnail: xxxx

以下の Video Id を追加した URL で YouTube を確認します。https://www.youtube.com/watch?v=4cd_AbDWAOk


▼4. 参考情報

  1. VS Code のインストール https://code.visualstudio.com/docs/setup/linux
  2. Apache Kafka Word Count 実装 – Java No.442-3. Apache Maven のインストール” を参照
  3. YouTube Data API の概要  |  Google Developers
  4. 承認の認証情報を取得する  |  YouTube Data API  |  Google Developers
  5. Java コード サンプル  |  YouTube Data API  |  Google Developers

以上です。参考になりましたら幸いです。



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です