📸

Google Apps ScriptとLINEボットでLINEの写真保存期間切れとはオサラバ!

2022/08/01に公開

※この記事はYouTubeに上げている「LINEの写真保存期間切れとはこれでオサラバ!【自動でGoogleDriveに保存する方法】」動画の書き起こし記事です。
LINE Developer CommunityではイベントやYouTube投稿して、LINEに関わる様々な技術情報を発信しています。ぜひ、YouTubeチャンネル登録と高評価していただけるとうれしいです。
https://youtu.be/Gy0BgzWzIBc

自己紹介と作るもの

LINEでですね、写真を例えば誰かに送ってもう一回見たいなと思った時に、「あれ期限切れて見えないじゃん」って時がもしかしたらあるかもしれません。そんな写真切れ問題をですね解決してくれる方法を動画で紹介します。LINEのBOTを作ることでそれが解消する。BOTを活用して写真をうまく保存する方法をお伝えします。

私はヤマタケと申します。普段はですね。普通にサラリーマンをしながら、業務改善のプログラムをGoogle Apps Scriptを使ってやっていて。LINEのアプリケーションも趣味でいろいろ作っているようなものになります。今日はよろしくお願いします。Googleドライブに保存することで、無料のGoogleアカウントであれば、15GBまで写真を保存することができます。LINEBOTも無料で実はできるんですね。GoogleもLINEもすべて無料でできるので。完全0円でできます。

LINE Developersへログイン


それでは、実際に画像を自動保存するLINEBOTを作るために、LINEメッセージのAPIを使う必要があります。そちらがですねこのLINE Developersというサイトからログインすることでセットアップできますので、そちらの解説を進めていきたいと思います。まず、左上にありますログインボタンをクリックします。するとクリックでログインアカウントが表示されますので、今回はビジネスアカウントを使いますので、こちらでログインをします。もしLINEアカウントをお持ちの方は上でもログイン可能です。

LINE Messaging APIチャネルの作成


今回は最初からの手順というところでプロバイダー作成から進めていきたいと思います。プロバイダー作成をクリックして、プロバイダー名を入力して作成をします。そうするとプロバイダーが作成できてますので、この中から作りたいチャネルとしてLINE Messaging APIを使うためにチャネル設定で Messaging APIを選択します。上のチャネルの種類やプロバイダは自動で入力されてますので、会社事業者の所在国地域のところを設定します。日本を選択します。チャネルアイコンのところは好きな画像をですね。自分で選んで私の方は、ちょっと適当にこういった画像を選択させていただきますね。チャネル名として投稿画像を自動保存という名前をつけさせていただいて。業種のところなんですけども、こちら個人というものが選べますので、まず個人を選択していただきます。続いて、小業種を選択してくださいのところね。特に選ぶものがなければ、個人・その他を選んでいただければと思います。メールアドレスの方も、アカウントに紐づいたメールアドレスが入力されてますので。プライバシーポリシーやサービス利用規約のURLは特に入力不要ですので。あとは利用規約とAPI利用規約と2つありますので、こちらにもチェックボタンを入れて同意して作成いただきます。最後に確認メッセージが出ますので、OKを押せば同様に完了です。ちょっと作成までに時間がかかりますので、はい。こちらでMessaging APIのチャネルが作成できました。

Messaging APIの設定


続きまして。タブの設定のところで Messaging APIの設定を行っていきます。まず、タブのところで Messaging API設定を選択してここにQRコードがありますのでこちらを追加することで、画像保存のBOTを追加することができます。で、Webhook設定ってのがあるので、こちらは後ほど設定します。

複数人トークへの参加設定

その前にですね。今回のは自分のBOTとのやりとりだけではなくて、色々なユーザーが参加しているグループトークや複数人トークへも参加したいっていうのがありますので、こちらを有効にしたいと思います。

LINE公式アカウントのページに遷移するんですが、すみません、少しお待ちください。このように開きますので、機能の利用のところでトークへの参加っていうのを選択できますので、通常時は許可しないになってるのを「許可する」に変更して変更をクリックします。するとですね。こちら側もですねもう一度リロードすると変更した内容が反映されて有効になっていますね。

ここでチャネルアクセストークンというのがあるので、発行ボタンを押すことでLINE Messaging APIのトークンを発行することができます。こちらのトークンはですね悪用されると投稿ができてしまう危険なものになりますので保管しておいてください。右側にあるアイコンを押すとコピーすることができます。これでLINE Messaging API側の設定が完了になります。

Google Apps Script を使ったLINEBotの作成の手順

続いて自動投稿。LINEに投稿された画像を自動で保存するBOTのツールの作成に移りたいと思います。Google Apps Script を使ったLINEBotの作成の手順に移りたいと思います。今回使うのは、こちらのスプレッドシートになりますYouTubeの概要欄にもリンクは張らせていただいているので、概要欄を参照いただければと思います。
https://docs.google.com/spreadsheets/d/1jnAvxenIoID-vAPo-vNCK9LSZr-3jPBINO9RXahCTpc/edit#gid=0

配布ファイルをコピー

こちら現在は閲覧のみになっていますので、まずコピーをしていただきたいと思います。スプレッドシートのメニューの中にある「ファイル」を選択して頂いてコピーを作成。コピーを選択してください。名前のところは、任意のものを入力していただいて。コピーを作成を選択します。コピー前のファイルの場合は閲覧のみでしたが、コピーした後はユーザーの方で編集できるようなものになってます。


B1セルのところにですねLINE Messaging APIの発行したトークンを入力できるようになってますので、ここをコピペして貼り付けていただきます。続いてLINEトークに投稿された画像をどこに保存するかという。ドライブのフォルダ名を選択します。このような形で、LINE画像を保存先のような名前を付けていただければ、Googleドライブでそのフォルダが作成できるようになります。

Google Apps Scriptのセットアップと認証許可


続きまして、Google Apps Scriptのセットアップに移りたいと思います。スプレッドシートのメニューにある拡張機能を選択していただいて、AppScript。こちらをクリックします。Google Apps Scriptのスクリプトは入力されているので、ユーザーの方で入力していただく必要はありません。このGoogle App Scriptの最初、デフォルトでmakeDirectoryというものが表示されていますのでこの表示を確認した上で実行ボタンをクリックしてください。


初回実行時には認証を求められます。その認証を選択していて、許可してスクリプトを実行できるようにします。このように承認が必要ですと表示されるので、権限を確認をクリックします。自分のGoogleアカウントを選択します。「このアプリはGoogleで確認されていません」と表示されますが左下にある詳細のリンクを押すと、このようにLINEチャットの画像を自動Drive保存に移動というリンクが表示されますので、こちらをクリックします。すると権限の許可の画面が出ますのでスクロールすると許可のボタンが押せるのでクリックします。こちらをクリックすると認証が完了し、GASのスクリプトが実行できます。このように実行ログに実行完了が出れば実行成功です。これで先ほどスプレッドシートにB2セルに入力したLINE画像を保存先というフォルダが作成されるようになります。

Google Apps Scriptをデプロイ設定

この状態でGoogle Apps Scriptをデプロイを押して新しいデプロイをクリックします。説明文のところにこのような形で今回のボットの説明を入力しウェブアプリのところの次のユーザーとして、実行のところは「自分」を選択してください。アクセスできるユーザーのところは「全員」を表示した状態でデプロイボタンをクリックします。少しデプロイには時間がかかります。

WebアプリのURLをコピー


待ってると表示がされるようになります。新しいデプロイの更新されたという画面が表示されますので、ウェブアプリのところにあるURLのコピーをクリックすると、クリップボードにコピーができます。このURLを使って、再びLINE Developersの方の設定を行いたいと思います。

LINE DevelopersのWebhook設定


さきほど開いていたLINE Developersのタブに戻りたいと思います。Webhook設定という先ほど紹介したものがありますので、ここのWebhookURLの編集ボタンをクリックします。すると、WebhookURLを入力してくださいと表示されるので、ここに先ほどコピーしたURLを貼り付けて更新ボタンをクリックします。すると、Webhookの利用というボタンが表示されるので、こちら現在は無効になってますが、有効に切り替えます。

あと、追加の設定のところで応答メッセージのところ有効になってますが、こちらを無効にするために編集ボタンをクリックします。再び先程のLINEオフィシャルアカウントマネージャーのタブが表示されるので基本設定の応答モードのところをボットになっているのを確認し、詳細設定の応答メッセージの方をオンからオフに変更します。こちらで設定は完了なので、LINEオフィシャルアカウントマネージャーのタブは閉じます。

LINE Developersのページをリロードすると応答メッセージは無効になり、WebhookURLとかが設定できている状態になり、ツールが使える状態になります。

QRコードから友達追加して、実際に使ってみる


では、実際にLINEBOTの方、自分のスマホを使って追加していきたいと思います。画面の方にQRコードが映っていますので、こちらをLINEのアプリを開いていただいて、友だち追加で動かしたいと思います。自分のところにLINEBOTを追加できるようになりますのでスマホアプリの方で作成したLINEBOTを追加します。それでは作ったLINEに投稿された画像を自動保存するBOTを実際に動かしてみたいと思います。今回、パソコンにLINEのクライアントを導入していますので、こちらで動作を試してみたいと思います。

先ほど追加した投稿画像自動保存BOTの画面トーク画面でファイルを添付する形で画像ファイルを選択します。画像を選択すると投稿されるので。出ましたね。画像を保存しましたURLが出てくれています。こちらのURLをクリックしてみましょう。投稿した画像が自動的にGoogleドライブに保存されるのが確認できます。実際にGoogleドライブで見てみると、先ほどのスプレッドシートに入力したLINE画像保存先というフォルダができていますので、こちらをクリックするとロボットの画像が保存されているのが確認できます。このようにして、画像を自動で保存できるというのがこのボットの機能になります。

まとめ

このようにわざわざLINE上で保存するっていう操作を行わなくても、Google Driveが自動で保存してくれているので、期限切れという恐怖から解放されるかなという風に思ってます。1度設定してしまえば、家族とのやりとりも自動で保存してくれるので楽できるかなと。さらに発展形としては家族のグーグルアカウントがあればそれらを共有することで、みんながこの画像にアクセスするってことも改良すれば可能かなと思います。そうした情報は、私が運営しておりますAutoWorkerというブログでも発信していますので、ぜひご参照いただければと思います。

ブログには詳しく説明を書いていきたい書いてますので、1ステップずつ見ていただければと思います。ありがとうございました。

今回のツールURL
https://docs.google.com/spreadsheets/d/1jnAvxenIoID-vAPo-vNCK9LSZr-3jPBINO9RXahCTpc/edit#gid=0

https://auto-worker.com/blog/?p=6098 ※今回内容の解説記事
https://auto-worker.com/blog/?p=5117 ※LINE Messaging APIの登録手順

LINE Developer Community

Discussion