3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LINEbotを作る ~今あるものを再現する~

3
Posted at

きっかけ

あとで確認しようと思っていたURLやSNSのリンクをLINEのKeepに投稿している。
投稿しているが、目に入らなくなると見なくなる...ってことが続いたので

URLをまとめてくれるLINE BOTを作成したいと思った

やったことはないため、コードが展開されているものを真似して再現する。

LINE BOT作成

Lv1.環境準備

何もない状態なので、ビジネスLINEアカウントを作成し、botを作成できる環境を作成する。

1.ビジネスLINEアカウントを作成

以下LINEの公式サイトを参考にアカウントを作成する

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

2.ビジネスLINEアカウントとMessageAPIを連携する

以下LINEの公式サイトを参考に連携をする
LINE公式アカウントでMessaging APIを有効にする

--info--
MessageAPI作成をするときにプロバイダー設定が必要になる。

3. Google App Script を有効にする。

Lv2. 参考元を真似する。

LINE BOTを作成しようと思ったきっかけを再現する。

LINE Messaging APIによるQRコード生成するLINEボットをGASで作ってみた

上記をコピーした状態で、実行してみるが動かない。

修正点1

コードを確認すると参考にしている記事で使用している記載が古くて登録ができていないことが判明した。

対象箇所
 ScriptProperties.getProperty('ACCESS_TOKEN');
修正後
PropertiesService.getScriptProperties().getProperty('ACCESS_TOKEN');

Class ScriptProperties プロパティ

それでもエラーが発生する。

調べてみると
function doPost(e) の前に指定をしていたconstがダメだったみたい。

変数宣言について

constの仕様として指定した変数の値を変更できないと記載があった。

何度か実行したところ、
constをfanctionの前に記載をするとGASのプロジェクト全体に反映されて、
fanction内で指定をすると、fanction実行中だけで変数宣言ができることが分かった。

つまり、fanctionの外でconstを複数回実行しようとして、
指定したconst変数を再度導入できなかったためエラーが発生しているだけだった。

image.png
赤枠:const宣言をfanctionの前で実行する場合、プロジェクトの設定のスクリプトプロパティに指定した値が設定される。
青枠:fanction 内でconst宣言をしている場合、{}内だけで指定した値が設定される。

まとめ

参考にしていたサイトの再現は行うことができた。
やりたいことはまた別にあるのでまた時間みて作成してみたいと思う

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?