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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Google カレンダー

Google カレンダーは、Google社が提供する無料のスケジュール管理ツールです。パソコンやスマートフォン、タブレットなどからアクセスし、スケジュールの追加・変更が可能。Googleアカウントがあれば誰でも使用できます。

Google Apps Script

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

ChatWork

業務の効率化を目的としたコミュニケーションツール。 グループチャット、ビデオ・音声通話、ファイル共有、タスク管理などの機能を備えています。マルチデバイス対応で、ブラウザだけでなくタブレットやスマートフォンでも利用可能です。

Q&A

1回答

473閲覧

Googlekカレンダーの情報をチャットワークへ送付するコードについて

Meguron

総合スコア4

Google カレンダー

Google カレンダーは、Google社が提供する無料のスケジュール管理ツールです。パソコンやスマートフォン、タブレットなどからアクセスし、スケジュールの追加・変更が可能。Googleアカウントがあれば誰でも使用できます。

Google Apps Script

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

ChatWork

業務の効率化を目的としたコミュニケーションツール。 グループチャット、ビデオ・音声通話、ファイル共有、タスク管理などの機能を備えています。マルチデバイス対応で、ブラウザだけでなくタブレットやスマートフォンでも利用可能です。

0グッド

1クリップ

投稿2020/01/28 23:57

前提・実現したいこと

Googleカレンダーの予定をGoogleAppsScriptで吐き出し、
チャットワークにAPI連携して送付するコードをかきたいのですが、
下記のようなエラーが起こってしまい解決策がわかりません。
何を変えればよいかご指示お願いしたくご連絡しました。

「ReferenceError.「Moment]が定義されていません。(行4、ファイル「コード」)」

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

「ReferenceError.「Moment]が定義されていません。(行4、ファイル「コード」)」

該当のソースコード

/* 指定のカレンダーの本日の予定をチャットワークに送る */ function sendSchedule() { var i = 1; var date = Moment.moment(); var date2 = Moment.moment().add(i,'d'); var myCals=CalendarApp.getCalendarById('メールアドレス'); //特定のIDのカレンダーを取得 var myEvents=myCals.getEventsForDay(new Date(date)); //カレンダーの本日のイベントを取得 var myEvents2=myCals.getEventsForDay(new Date(date2)); //カレンダーの本日の次の日のイベントを取得 /*土曜日 日曜日の場合 次の月曜日を取得 while (date2.day() == 0 || date2.day() == 6) { date2 = date2.add(i,'d'); i++; } 祝日の場合 次の日を取得 var calJa = CalendarApp.getCalendarById('ja.japanese#holiday@group.v.calendar.google.com'); while (calJa.getEventsForDay(new Date(date2)).length > 0) { date2 = date2.add(i,'d'); i++; } */ /* チャットワークに送る文字列のヘッダー */ var Today = date; //4行目と違う日時が入ってる var strBody = "[info][title]" + Today.format('YYYY/MM/DD') + " (roger)[/title]" + "お疲れ様です。●●です。" + '\n' + '本日の日報をお送りしますので、ご確認のほどよろしくお願い致します。' + '\n' + '\n' + '【当日の作業内容】' + '\n'; /* myEvents イベントの数だけ繰り返し */ for(var i=0;i<myEvents.length;i++){ var strTitle=myEvents[i].getTitle(); //イベントのタイトル var strStart=Moment.moment(myEvents[i].getStartTime()); //イベントの開始時刻 strStart= strStart.format('HH:mm'); //イベントの開始時刻のフォーマット strBody=strBody + strStart + strTitle + '\n'; //チャットワークに送る文字列にイベント内容を追加 } strBody = strBody + '\n' + '【翌営業日の予定】' + '\n'; /* myEvents2 イベントの数だけ繰り返し */ for(var i=0;i<myEvents2.length;i++){ var strTitle2=myEvents2[i].getTitle(); //イベントのタイトル var strStart2=Moment.moment(myEvents2[i].getStartTime()); //イベントの開始時刻 strStart2= strStart2.format('HH:mm'); //イベントの開始時刻のフォーマット strBody=strBody + strStart2 + strTitle2 + '\n'; //チャットワークに送る文字列にイベント内容を追加 } strBody = strBody + '\n' + '【所感】' + '\n' + '' + '\n' + '【実労働時間】' + '\n' + '09:30(開始)~18:30(終了)' + '\n' + '実労働時間(本日):08:00' + '\n' + '残業時間(本日):0:00' + '\n' + ' 残業時間(月累積):0:00' + '\n' + '' + '\n' + '以上です。' + '[/info]'; /* チャットワークにメッセージを送る */ var cwClient = ChatWorkClient.factory({token: 'チャットークのAPI'}); //チャットワークAPI cwClient.sendMessage({ room_id:チャットワークへ送付するチームID, //ルームID body: strBody }); }

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

papinianus

2020/01/29 22:41 編集

参考にしたサイトをご提示ください
guest

回答1

0

「ReferenceError.「Moment]が定義されていません。(行4、ファイル「コード」)」

エラーメッセージのとおりです。MomentはJavaScript標準で存在するものではありませんので、別途導入が必要です。

投稿2020/01/29 00:19

maisumakun

総合スコア145121

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問