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

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

新規登録して質問してみよう
ただいま回答率
86.12%
Google Apps Script

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

解決済

オブジェクトのkeyとvalueの順番を、任意の順番にしたいです

atago_IT
atago_IT

総合スコア4

Google Apps Script

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

2回答

0リアクション

1クリップ

341閲覧

投稿2022/09/06 08:38

前提

GASでGoogleカレンダーに登録された予定をSlackのチャンネルに投稿するシステムを開発しています。
スケジュールを取得する機能を実装中に以下の問題が発生しました。

実現したいこと

オブジェクトschedules(10、35、42、44、46、50、51、56行目)の中身の順番を、
title, startHour, startMinute, endHour, endMinuteの順に整形したいです。

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

オブジェクトschedules(10、35、42、44、46、50、51、56行目)の中身の順番が、
バラバラ且つコードを実行したときによって順番が違う

該当のソースコード

JavaScript

let calendarIds = { 'XXXXXXXX': 'XXXXXXXX', 'XXXXXXXX': 'XXXXXXXX', 'XXXXXXXX': 'XXXXXXXX' }; // スケジュールを取得 function getSchedules() { let schedules = []; // メンバーのGoogleカレンダーIDを取得 let calendarId = Object.keys(calendarIds); calendarId.forEach((calendarId)=>{ // メンバーの名前をmemberに代入 let member = calendarId; // myCalendarに各々のcalendarIdを格納 let myCalendar = CalendarApp.getCalendarById(calendarIds[calendarId]); // 今日の年月日を取得 let today = new Date(); let events = myCalendar.getEventsForDay(today); for (let i in events) { let event = events[i]; let title = event.getTitle(); let startHour = event.getStartTime().getHours(); let startMinute = event.getStartTime().getMinutes(); let endHour = event.getEndTime().getHours(); let endMinute = event.getEndTime().getMinutes(); return schedules = { title: title, startHour: startHour, startMinute: startMinute, endHour: endHour, endMinute: endMinute }; return schedules; }; return schedules; }); return schedules; }; function notifySlack() { let schedules = getSchedules(); Logger.log(schedules); let text = '本日の予定は以下になります。'; Logger.log(text); Object.keys(schedules).forEach(key => { Logger.log(text += '・'+schedules[key]+'\n'); }) let payload = { 'username': 'お知らせ', 'text': text, 'channel': '#general' }; let options = { 'method': 'post', 'contentType': 'application/JSON', 'payload': JSON.stringify(payload) }; const URL = 'https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXX'; UrlFetchApp.fetch(URL, options); };

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

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

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

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

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

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

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

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

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

Google Apps Script

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。