プログラム

【LINE】GASを使って自分にメッセージを送信する

普段、LINEで定期的に同じようなメッセージを送信している方、いらっしゃいませんか?
私はその内の一人です。正直、「自分は何を同じことをやっているんだ…」と思っています。

なんとかならないものかと「定期的に自動でメッセージを送信できませんか?」とChatGPTに聞いてみると、Messaging APIとGASを組み合わせて使うと自動でメッセージを送信できるようになるそうです。なんということでしょう!

今回はグループLINEにメッセージを送るための足掛かりとして、自分自身に対してメッセージを送信できるようになりたいと思います。

Messaging APIとは

LINEに自動でメッセージを送ったり受け取ったりするための仕組み。(LINE公式より

Messaging APIの料金

月200通までのメッセージは無料らしいです。(LINE公式より

用語

この記事で出てくる用語です。めんどくさいのでChatGPTに書いてもらいました。

プロバイダー

プロバイダーは、アプリを提供する個人または組織を表す概念です。LINE Developersコンソールでプロバイダーを作成し、その中にチャネルを作成します。プロバイダーごとに異なるユーザーIDが割り当てられるため、サービスごとにプロバイダーを分けることで、ユーザー管理がしやすくなります。

チャネル

チャネルは、LINEプラットフォームが提供する機能を、プロバイダーが開発するサービスで利用するための通信路です。たとえば、Messaging APIやLINEログインなどの機能を使うためには、それぞれのチャネルを作成する必要があります。チャネルを作成することで、LINEの各種機能を自分のサービスに組み込むことができます。

LINE公式アカウント

LINE公式アカウントは、企業や店舗、団体などがLINE上でユーザーとコミュニケーションを取るためのアカウントです。ユーザーはLINE公式アカウントを友だち追加することで、最新情報やキャンペーンなどのメッセージを受け取ることができます。また、Messaging APIを利用することで、自動応答やリッチメニューの設定など、より高度な機能を追加することができます。

Messaging APIの始め方

基本的にLINE公式の説明が分かりやすいですが一部分かりにくいところがあるので、途中から画像を交えて説明していきます。

LINE Developersでプロバイダーを作成する

LINE Developersにアクセスする

②プロバイダーの画面で「作成」ボタンを押す

③任意のプロバイダー名を入力して、「作成」ボタンを押す

④"Messaging API"チャネルを選択する

⑤「LINE公式アカウントを作成する」を押す

LINE公式アカウントを作成する

⑥自分のLINEアカウントでログインする

⑦以下のように入力し、「確認」ボタンを押す
・アカウント名:任意のアカウント名
・メールアドレス:自分のメールアドレス
・業種:自分の業種にあった項目を選択
・運用目的:「その他」を選択
・主な使い方:「メッセージ配信用」を選択

⑧入力内容の確認画面では、「完了」を押す

この時点で、LINE公式アカウントが自分のLINEアカウントと友達になっているはずです


⑨「LINE Oficial Account Managerへ」を押す

Messaging APIを有効にする

⑩作成したLINE公式アカウントを選択

⑪「Messaging APIを利用する」を押す

設定の場所

「設定」> 「Messaging API」

⑫作成したプロバイダーを選択し、「同意する」を押す

⑬何も入力せず、「OK」を押す

以下の画面がでればOK!

メッセージ送信に必要な値

メッセージ送信に必要な値は以下の2つです。

・自分自身のユーザID
・チャネルアクセストークン(長期)

自分自身のユーザIDの取得方法

LINE Developersにアクセスする
②作成した公式LINEアカウント名の個所を選択する

③"チャネル基本設定"から"あなたのユーザID"をコピーする

チャネルアクセストークンの取得方法

LINE Developersにアクセスする
②作成した公式LINEアカウント名の個所を選択する


③"Messaging API設定"を押す
④"チャネルアクセストークン(長期)"の「実行」を押す

⑥チャネルアクセストークンをコピーする

ソースコードを準備する

ソースコードを書く

①自分のGoogleドライブを開く
②任意の場所にGASプロジェクトを作成する

③以下のようなメッセージが出たら、「Create script」を押す

④GASファイルに以下のソースコードを記述する。
 今回は「こんにちは。」とメッセージを送信してみます。
 LINE_IDとACCESS_TOKENはそれぞれ先ほどコピーした値を張り付けてください。

// あなたのユーザID
const LINE_ID = 'あなたのユーザーIDをここに張り付ける';

// チャネルアクセストークン(長期)
const ACCESS_TOKEN = 'チャネルアクセストークン(長期)をここに貼り付ける'; 

function sendMessage() {
  Logger.log("START FUNCTHION:sendMessage()");

  // 送信先
  const targetId = LINE_ID;

  // 送信メッセージ
  const messagePayload = {
    "to": targetId,
    "messages": [
      {
        "type": "text",
        "text": "こんにちは。\n"
      }
    ]
  };

  const options = {
    "method": "post",
    "contentType": "application/json",
    "payload": JSON.stringify(messagePayload),
    "headers": {
      "Authorization": "Bearer " + ACCESS_TOKEN
    },
    "muteHttpExceptions": true
  };

  const url = "https://api.line.me/v2/bot/message/push";  // エンドポイント

  try {
    const response = UrlFetchApp.fetch(url, options);
    Logger.log("Message send successfully: " + response.getContentText());
  } catch (error) {
    Logger.log("Error sending message via LINE: " + error.message);
  }
}

デプロイする

⑤「Deploy」を押す

⑥「New deployment」を押す

⑦設定アイコンを押し、「Web app」を押す

⑧"Description"に"test"と入力し、「Deploy」を押す

▼アクセスの承認方法はこちら

A.「Authorize access」を押す

B.自分のアカウントを選択

C.「Advanced」を押す

D.「Go to Unlitled project(unsafe)」を押す

E. 「Allow」を押す

ソースコードを実行する

「Run」を押すと、

スマートフォンにLINEの通知が鳴り響き、ログには"Excution completed"の文字列が!

そしてLINEを開くと無事にメッセージが届いていました!

【まとめ】環境構築が一番難しい

ソースコードはChatGPTがほとんど書いてくれるので、あとは細かいところを自分で修正すればいいだけ。ですが、環境構築はChatGPTはしてくれまないのでめんどくさいです。だけど、これを乗り切れば自分が楽になると信じてやるしかない。。

次のステップではグループLINEにメッセージを送信できるようになりたいと思います!

  • この記事を書いた人

なんグラマ

福岡県在住の23歳。高校を卒業後2年くらいシステムエンジニアをして、接客業に転職。プログラムを書くことが今でも好きで、ChatGPTなどを活用して仕事やプライベートを楽する方法を探しています。ガジェット、甘い食べ物が大好き。

-プログラム
-, ,