質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.68%
LINE Messaging API

LINE Messaging APIは、メッセージの送信・返信ができるAPIです。Web APIを経由しアプリケーションサーバとLINEのAPIでやり取りが可能。複数のメッセージタイプや分かりやすいAPIリファレンスを持ち、グループチャットにも対応しています。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

Q&A

0回答

2154閲覧

【GAS・LINE Notify】401エラーの解決法について

pang

総合スコア0

LINE Messaging API

LINE Messaging APIは、メッセージの送信・返信ができるAPIです。Web APIを経由しアプリケーションサーバとLINEのAPIでやり取りが可能。複数のメッセージタイプや分かりやすいAPIリファレンスを持ち、グループチャットにも対応しています。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。

0グッド

0クリップ

投稿2020/09/19 04:38

編集2020/09/19 05:08

前提・実現したいこと

GASを使ってGoogleカレンダーの情報をLINEに通知したい。

発生している問題・エラーメッセージ

以下のコードをコピペして作成し、実行したところ、401エラーとなります。
LINE Notify + GoogleAppsScript + Googleカレンダーで明日の予定を絶対忘れない

Exception: https://notify-api.line.me のリクエストに失敗しました(エラー: 401)

該当のソースコード

function myFunction() { // カレンダーID var calId = "カレンダーID"; // LINE Notifyのアクセストークン var key = "access token"; var url = "https://notify-api.line.me/api/notify"; var cal = CalendarApp.getCalendarById(calId); var now = new Date(); var tomorrow = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1); // googleカレンダーより明日の予定を配列で取得。 var tomorrowEvent = cal.getEventsForDay(tomorrow); // LINE Notifyに送るメッセージ var msg = ""; // 予定がない時 if(tomorrowEvent.length === 0){ msg = "明日の予定はありません。"; } // 予定がある時 else{ msg += "明日の予定は" + String(tomorrowEvent.length) + "件あります。\n\n"; msg += allPlanToMsg(tomorrowEvent); } var jsonData = { message: msg } var options = { "method" : "post", "contentType" : "application/x-www-form-urlencoded", "payload" : jsonData, "headers": {"Authorization": "Bearer " + key} }; var res = UrlFetchApp.fetch(url, options); } // イベントの配列をテキストにして返す function allPlanToMsg(events/* array */){ var msg = ""; events.forEach( function(event, index){ var title = event.getTitle(); var start = event.getStartTime().getHours() + ":" + ("0" + event.getStartTime().getMinutes()).slice(-2); var end = event.getEndTime().getHours() + ":" + ("0" + event.getEndTime().getMinutes()).slice(-2); // 予定が終日の時 if( event.isAllDayEvent() ){ msg += String(index + 1) + "件目: " + title + " 終日の予定です。\n\n"; return; } msg += String(index + 1) + "件目: " + title + " " + start + "~" + end + "\n\n"; }); return msg; }

試したこと

認証の問題かと思いましたので、以下のページを参考に
「ウェブアプリケーションとして導入」の公開設定を「anyone even anonymous」に変更しましたが、解決しませんでした。

【GAS】401エラーの対処法を知りたい

初歩的な質問で大変恐縮ですが、ご教示いただけますと幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

また依頼した内容が修正された場合は、修正依頼を取り消すようにしましょう。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.68%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

同じタグがついた質問を見る

LINE Messaging API

LINE Messaging APIは、メッセージの送信・返信ができるAPIです。Web APIを経由しアプリケーションサーバとLINEのAPIでやり取りが可能。複数のメッセージタイプや分かりやすいAPIリファレンスを持ち、グループチャットにも対応しています。

Google Apps Script

Google Apps ScriptはGoogleの製品と第三者のサービスでタスクを自動化するためのJavaScriptのクラウドのスクリプト言語です。