[JAVA] I tried youtubeDataApi.


It's my first post, or the blog itself, so the text may be poor.


Use youtubeDataApi to search for a specific keyword, get the number of views of the video and the number of subscribers of the video channel, extract only the videos with 60% or more views / subscribers, and put them together in a csv file. program. Can you buzz on youtube if you imitate the story?

Development environment

Language used

Result (example)

The result of searching with Pokemon. qiitajpg.jpg

Impressions I made

--Trouble --YoutubeAPI has usage restrictions, and especially if you use a search function like this one, you will be caught in the daily limit in a blink of an eye, so you can not abuse it. ――Occasionally, the number of registrants could not be obtained for the video that was caught in the search, and an error occurred each time. When I checked the corresponding video, it was a channel that did not disclose the number of subscribers. (A branch was added to prevent an error.) --Since I wrote the code without using the framework, it became awkward code to write the url of api directly to the variable. Is it possible to write more stylishly by using a framework such as spring? .. .. Or in other languages. --Interesting points ――It was my first time to work with webAPI, so I learned a lot. ――The idea that information can be collected efficiently by combining youtubeDataAPI and other youtube APIs has expanded.


After investigating, I was excited that there are a huge number of web APIs on the net and I can write a lot of programs that will make my life more efficient. In terms of youtube, I want to create a chrome extension that automatically opens the url when the registered channel starts live. (Maybe you don't need it because chrome has a notification function)

Recommended Posts

I tried youtubeDataApi.
I tried Spring.
I tried tomcat
I tried refactoring ①
I tried FizzBuzz.
I tried JHipster 5.1
[I tried] Spring tutorial
I tried running Autoware
I tried QUARKUS immediately
I tried using TestNG
I tried Spring Batch
I tried using Galasa
I tried node-jt400 (execute)
I tried node-jt400 (Transactions)
I tried node-jt400 (Environment construction)
I tried DI with Ruby
I tried node-jt400 (IFS write)
I tried node-jt400 (SQL Update)
I tried using azure cloud-init
I tried Spring State machine
I tried Drools (Java, InputStream)
I tried Rails beginner [Chapter 1]
I tried the Docker tutorial!
I tried using Apache Wicket
I tried the VueJS tutorial!
I tried node-jt400 (SQL query)
I tried using Java REPL
I tried source code analysis
I tried the FizzBuzz problem
I tried node-jt400 (SQL stream)
I tried node-jt400 (IFS read)
I tried putting XcodeGen + SwiftPM
I tried Rails beginner [Chapter 2]
I tried UPSERT with PostgreSQL.
I tried BIND with Docker
I tried to verify yum-cron
I tried Jets (ruby serverless)
I tried metaprogramming in Java
I tried using anakia + Jing now
I tried to chew C # (indexer)
I tried something called recursive search
I tried using Spring + Mybatis + DbUnit
I tried using JOOQ with Gradle
[K8s] I tried communication between pods!
I tried morphological analysis with MeCab
I tried a little digdag docker.run_options
I tried to summarize iOS 14 support
I tried to interact with Java
I tried UDP communication with Java
I tried to explain the method
I tried putting Domino11 in CentOS7
I tried using Java8 Stream API
I tried Java's micro-benchmark tool JMH
I tried using JWT in Java
I tried GraphQL with Spring Boot
I tried to summarize Java learning (1)
I tried to understand nil guard
[Android] I tried using Coordinator Layout.
I tried installing CentOS 8 on ESXi 6.7
I tried Flyway with Spring Boot
I tried using Pari gp container