自己投資としてチャレンジしている内容を 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_HOME2-2. Visual Studio Code のインストール
https://code.visualstudio.com/docs/setup/linux
sudo snap install --classic code2-3. Maven のインストール
Apache Kafka Word Count 実装 – Java No.44 “2-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-quickstart3-2. デフォルトで作成された App.java および AppTest.java を削除
rm ./youtubesearch/src/main/java/org/example/youtubetest/App.java
rm ./youtubesearch/src/test/java/org/example/youtubetest/AppTest.java3-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

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>
xxx3-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. 参考情報
- VS Code のインストール https://code.visualstudio.com/docs/setup/linux
- Apache Kafka Word Count 実装 – Java No.44 “2-3. Apache Maven のインストール” を参照
- YouTube Data API の概要 | Google Developers
- 承認の認証情報を取得する | YouTube Data API | Google Developers
- Java コード サンプル | YouTube Data API | Google Developers
以上です。参考になりましたら幸いです。