受験は情報戦！MBAの受験情報をYouTubeで日常的にキャッチアップするためのLINE BOTをつくってみた

# 海外MBA受験にフォーカスしたBOTをつくりたい！

僕はこ大学2年生の頃から合わせると、なんだかんだんだで20年以上、事業開発、とりわけ新規事業の開発に取り組んできた。望んでやってきたというより、大学中退してろくな会社に就職できず、売れないものを売り続ける努力をした結果、会社経営におけるコードを書くこと以外のことは全てやり切って、気付いたらフルスタックなビジネスマンとなっていた。会社員という職業に挫折し、独立してから約9年が経つが、主に大企業を中心にBtoCやBtoB問わず、様々な企業(時には官公庁)などの事業開発や新規事業をハンズオンで支援してきて、それなりに成果を出してきつもりだ。

　しかしながら、長期的な自身のキャッシュフローと自己資本の最大化を考えた場合、昨今の円安傾向(これは長期だと思う)や、日本の人口減少、そしてグローバルでの人材競争やAIの台頭などを考慮すると、国内だけ勝負していくのは極めて大きなリスクでしかないと考えている。もっとシンプルに言えば、早晩にジリ貧になる可能性があるということだ。また、新規事業をするにしても、国内だけを相手にした"商売"だと、市場規模はたかが知れており、大企業が求める企業価値のビジネスを作り出す事はどんどん難しくなっている。故に、自分が勝負している市場の競争環境等を長期的に考えた場合、海外市場に参入し、直接外貨を稼ぐ形で、自身のビジネスをデリバリーしていく必要があると強く感じている。自分の市場規模を海外に広げるために。

　だが、明日から海外で自分の事業をデリバリーしようと思っても、おいそれとで能力があればできるものではない。知名度のない自分がやっていこうとすると、必然的に界隈のキーマンとの強力なネットワークや、学歴などの目に見えるわかりやすい"信用"がそれ以上に必要になってくる。もちろん、高度な英語力もマストだ。この傾向は、一番儲かる市場である米国を筆頭に強い。そこで、これまで食わず嫌いで避けてきたMBAが海外に打って出ていく上で、その扉を開く強力なマスターキーであると知った同時に、自身の大学中退というキャリアがアキレス腱になると考え、MBAに行くことを決意した。

 では、そのMBAそに合格するためには、何が必要なのか。それをイメージするためには、MBA受験というものがどんなものか、概念的に理解する必要がある。MBA受験は皆さんが想像するであろう日本の大学受験というより、就職活動に近い。GMATやGREと呼ばれる言語能力と定量的能力を図る学力テストやIELTSなどの英語のテストを受けてスコアメイキングする必要があるが、それ以上に職務経歴や志望動機、そして面接などの定性的な項目が最も重要になってくる。MBAは、日々の忙しい仕事とバランスをとりながら、これらの学校からリクエストされる課題をこなす必要がある。言い換えれば、明確なゴール設定と的確なタスクの優先順位づけ、そして効率的なタイムマネジメント重要になってくる。これを我々は出願戦略と呼ぶ。そして、その戦略を立てて、日々アップデートするのに欠かせないのが方々から都度発信される情報である。この情報は複数のチャネルに偏在しており、その偏在化した情報をアグリゲートしてLINEに配信されたら便利だなというのがこのLINE BOTを開発する動機だ。

# なぜ、MBA受験情報のYouTube動画をLINEで配信するのか？MBA受験LINE BOTの要件
まず、情報ソースと配信のチャネルを検討する上で、下記の要件が重要だと考えた。

①情報ソースの要件：MBA受験に関する情報が豊富にあり、その内容が絶えず更新されている。

②チャネルの要件：1日の間で習慣的にチェックするチャネルであること

上記の①と②の要件を考えた場合、結果的にYouTube動画をLINEで配信することがベターであると
考えた。当初、海外系のMBA情報がリアルタイムに掲載されるサイトを利用したかったが、それらのAPIに到達することができなかった。したがって、次の策として、MBA情報がリッチなYouTubeから情報を引っ張る方向に
PIVOTした。また、LINEはリアルタイムで情報をキャッチすることが習慣化されたツールなので、目的から
考えるとベストなチャネルだと思った。

使ったツール

・[LINE Notify](https://notify-bot.line.me/ja/ "LINE Notify Home")
・[YouTube DATA API](https://developers.google.com/youtube/v3/getting-started?hl=ja "YouTube DATA API Home")

# 実際のソースコード

![スクリーンショット 2023-05-27 1.18.22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3380687/0f67f022-0da8-ea0e-4e29-87b8e2326231.png)


# 実際のイメージ

![IMG_2615.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3380687/a0260599-f7fa-6b61-61d9-9c3f4eb31604.png)

# 開発のフロー(というか道のり)

**STEP1：まずは自分が欲しいMBA情報がリアルタイムかつ豊富にある場所のAPIを探す**
上記に書いたとおり、海外系のMBA情報がリアルタイムに掲載されるサイトがあるのAPIに到達することが
できなかったのでYouTubeで代替することにした。APIBankからYoutubeの動画データを引っ張り出すAPIを見つけたので、それを利用することに。

![スクリーンショット 2023-05-23 17.26.12.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3380687/30a591f8-87b1-a097-a05f-5b44d3c70280.jpeg)


しかし、YouTubeデータの解説ページに飛んだが、ここで説明されている内容が全く理解できない・・・
仕方なく、ChatGPT先生に聞いてみた。

![スクリーンショット 2023-05-23 17.28.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3380687/ff028237-0c53-3927-1876-98dbb24c2b0e.png)

![スクリーンショット 2023-05-23 17.32.20.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3380687/25f40382-826f-c9d9-8416-f61f15f8b320.jpeg)



どうやら、GoogleCloudに行けということなので、ChatGPTに言われるがままに、
言われた手順でGoogleCloudを契約し、YouTubeのAPIを有効化し、APIキーをgetした。
本当にこれでいいのか、相当に疑心暗鬼だった。

![スクリーンショット 2023-05-23 17.37.34.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3380687/3562b406-6c32-d6bf-b7a4-5ac59bb8ca13.jpeg)


**STEP2：ChatGPTで(これが、後に開発でえぐることになる元凶となる)必要なソースコードを聞いてみる**

下記を質問した。

youtubeのAPIを使って、MBA受験に関する動画を取得して、LINEに配信するコードを書いてください。 

使用する言語
・JavaScript
・Node.jsで実行


![スクリーンショット 2023-05-27 1.22.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3380687/3ec9724b-c305-622a-9e2a-d6f04be0ecc7.png)



いざ、実装！
しかし、何度やっても動かない。


![2023-05-21_23.30.55.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3380687/a7ae30a7-31c8-3871-42a6-709126d91a51.jpeg)

夜中にも関わらず、Discordでみんなに相談。

![スクリーンショット 2023-05-23 18.24.23.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3380687/b641ca88-76cc-197b-fa88-7d92f2f911fa.jpeg)

**STEP3　なんとか動いた・・・！！

四苦八苦して、なんとか動いた・・・何度も何度も出るエラーメッセージを潰していく繰り返し。どうやら、ChatGPTに丸っとソースコードを聞いたのが問題だった模様。コードの構造に問題が出てしまったらしい。


下記のように、ChatGPTにソースコードを丸っと書かせるとどうしても、プロンプトがアバウトになり、エラーがでがち。各パーツとなるモジュールごとにソースコードを書かせることがうまくやるコツだと学習。


# これからやってみたいこと

もっと、行けてるAPIを探し出して、自動でLINEで自分が欲しい学習コンテンツが毎日配信されるようなニュースフィードの仕組みを作ってみたい。