通常ユーザーのメインカレンダーはメールアドレスと同じ、また共有設定では同じドメインの人に閲覧権限を設定するとおもうので、
Admin SDK Directory APIを使用して、ユーザー全員リストアップ
CalendarApp.getCalendarById(id) でCalendarを取得
Calendar.getEventsForDay(date)などでイベント取得
でやりたいことはできそうです。
管理者で実行する必要があるのと、共有設定変更されていた場合は共有してもらう必要がありますね。
本日の予定のカウントするスクリプトは下記のような感じで動きました。
function countEventsOfToday() {
var allUsers = AdminDirectory.Users.list({
});
var users = allUsers.users;
for(var i = 0; i < users.length; i++){
var user = users[i];
var calendar = CalendarApp.getCalendarById(user.primaryEmail);
if(calendar == null){
continue;
}
var count = calendar.getEventsForDay(new Date()).length;
Logger.log({
user : user.primaryEmail,
count : count
});
}
}
2014年8月6日水曜日 14時03分29秒 UTC+9 ogawa tak: