2016-10-17 8 views
0

私の最初のソロ実用的アプリの最後の部分で、この最後の部分を取得できないようです。新しいカレンダーイベントのゲストへの通知のトラブル - Google Apps

以下は私の特定のカレンダーイベントにユーザーを追加するコードです。 addGuestは動作しています。実行すると、そのイベントに追加されます。

しかし、イベントを確認するにはメールを受け取る必要があります。古い自動生成のg-cal招待メールはうまくいくはずです。テストのときに私が言うことができるものから、

が、これは、何の電子メールが送信されませんしかし、それは唯一のゲストを追加し、動作するはずです:

function assignToCal() { 
    var row = scheduled.getLastRow(); 
    var timePicked = scheduled.getRange(row, 2).getValue(); 
    var email = scheduled.getRange(row, 3).getValue(); 
    var calId; 

    for(var i = 0; i < slotTimes.length; i++) 
    { 
    if(slotTimes[i] == timePicked) 
    { 
     calId = slotIds[i]; 
    } 
    } 

    var session = calendar.getEventSeriesById(calId); 
    session.addGuest(email); 


    function sendInvite(calendar, calId, email) { 
    var event = Calendar.Events.get(calendar, calId); 
    event.attendees.push({ 
     email: email 
    }); 
    event = Calendar.Events.patch(event, calendarId, eventId, { 
     sendNotifications: true 
    }); 
    } 

    Logger.log(timePicked); 
    Logger.log(calId); 
}; 

別のオプションは、ゲストのためのusing this POST request to update sendNotificationsのようです。しかし、正直言って私はhttpリクエストをしたことがないし、これも過去数日間試してきただけであり、ちょっと混乱しています。もし誰かがここでやる必要があることのためにその仕事をするアドバイスがあれば、それもクールです。

ありがとうございます!

答えて

1

Google Apps Script Issuesトラッカーのissue #574に記載されている解決策として、Advanced Calendar serviceを試してみることもできます。前述のように、

あなたは、参加者を追加するためにCalendar.Events.patch()を使用することができ、あなたが「真」の参加者が得るために、オプションのパラメータsendNotificationsを設定した場合、招待します。

サンプルコードの実装:

function sendInvite(calendarId, eventId, email) { 
    var event = Calendar.Events.get(calendarId, eventId); 
    if(event.attendees) { 
    event.attendees.push({ 
     email: email 
    }); 
    } else { 
    event.attendees = new Array({email: email}); 
    } 
    event = Calendar.Events.patch(event, calendarId, eventId, { 
    sendNotifications: true 
    }); 
} 

重要な注意:あなたがイベントの所有者だとあなたは自分のメールアドレスを追加しようとしている場合は、電子メール通知を受信しません。

これを実装する方法を理解するには、Issue #574の追加説明も確認してください。希望が助けてくれる!

+0

@Teyamにお返事ありがとうございます。 これを偶然あなた自身で使用したことが実証されましたか? これは実際に私が数日間働くことを試みてきた同じコードです(私の質問に掲載されています)。 もう一度読んだ後、CalanderAppとCalendarの違いがあるかもしれないと思っています(イベントとカレンダーIDの最後に「@gmail」はありません)。 最後の夜にもう一度見直して、テスト目的のために切り捨てられたIDを手動で入力しても、まだ動作していません。 現在のエラーは「見つかりません(行55、ファイル "AddToCal")」です – tmkiefer

関連する問題