0

これは、カレンダーのイベント情報にアクセスするための Google スクリプトに関するものです。

カレンダー イベントのグローバル ステータスを取得する方法を探しています。出席状況がカレンダー イベントの場合のように: 10 ゲスト ==> 4 はい、3 かもしれない、1 いいえ、2 待機中

私は検索しましたが、ゲストごとにステータスを取得する方法しか見つけられず、グローバルステータスを個別にカウントするコードを実装しています。

グローバルステータスを直接取得する方法はありますか?

前もって感謝します。

4

1 に答える 1

1

私はたまたまこれを行う関数を書きました。使用例を次に示します。

var summary = guestSummary(event.getGuestList());
Logger.log(summary);
...

[13-06-26 22:39:58:253 EDT] {respondedMaybe=0.0, awaiting=0.0, additional=0.0, respondedNo=0.0, respondedYes=1.0, invited=1.0}

CalendarEvent と CalendarEventSeries の両方をサポートするために、ゲスト リストをパラメーターとして使用することにしました。

/**
 * Return an object enumerating guest list summary information.
 *
 * @param {EventGuest[]} guestlist Array of EventGuests.
 *
 * @returns {object} guest list summary
 */
function guestSummary( guestlist ) {
  var invited = guestlist.length;
  var respondedYes = 0;
  var respondedMaybe = 0;
  var respondedNo = 0;
  var awaiting = 0;
  var additional = 0;
  guestlist.forEach( function (guest) {
    switch (guest.getGuestStatus()) {
      case CalendarApp.GuestStatus.INVITED:
        awaiting++;
        break;
      case CalendarApp.GuestStatus.YES:
        respondedYes++;
        break;
      case CalendarApp.GuestStatus.NO:
        respondedNo++;
        break;
      case CalendarApp.GuestStatus.MAYBE:
        respondedMaybe++;
        break;
      default:
        break;
    }
    additional += guest.getAdditionalGuests();
  });
  return {
    invited : invited,
    respondedYes : respondedYes,
    respondedMaybe : respondedMaybe,
    respondedNo : respondedNo,
    awaiting : awaiting,
    additional : additional
  };
}
于 2013-06-27T02:41:05.080 に答える