2016-07-07 21 views
1

Googleカレンダーの予定を更新しようとしています。 javascriptを使用してイベントを更新および削除する方法が見つかりませんでした。 私に提案したり、何か考えてもらえますか? どうすればいいですか?JavaScriptを使用してGoogleカレンダーの予定を更新するには

私はこのリンクに従います。 https://developers.google.com/google-apps/calendar/create-events すべてのイベントを表示します。次のコードを使用します。

<script type="text/javascript"> 
var CLIENT_ID = '<YOUR_CLIENT_ID>'; 
var SCOPES = ["https://www.googleapis.com/auth/calendar.readonly"]; 
function checkAuth() { 
gapi.auth.authorize(
     { 
     'client_id': CLIENT_ID, 
     'scope': SCOPES.join(' '), 
     'immediate': true 
     }, handleAuthResult); 
    } 

    function handleAuthResult(authResult) { 
    var authorizeDiv = document.getElementById('authorize-div'); 
    if (authResult && !authResult.error) { 
     authorizeDiv.style.display = 'none'; 
     loadCalendarApi(); 
    } else { 
     authorizeDiv.style.display = 'inline'; 
    } 
    } 

    function handleAuthClick(event) { 
    gapi.auth.authorize(
     {client_id: CLIENT_ID, scope: SCOPES, immediate: false}, 
     handleAuthResult); 
    return false; 
    } 

    function loadCalendarApi() { 
    gapi.client.load('calendar', 'v3', listUpcomingEvents); 
    } 

    function listUpcomingEvents() { 
    var request = gapi.client.calendar.events.list({ 
     'calendarId': 'primary', 
     'timeMin': (new Date()).toISOString(), 
     'showDeleted': false, 
     'singleEvents': true, 
     'maxResults': 10, 
     'orderBy': 'startTime' 
    }); 

    request.execute(function(resp) { 
     var events = resp.items; 
     appendPre('Upcoming events:'); 

     if (events.length > 0) { 
     for (i = 0; i < events.length; i++) { 
      var event = events[i]; 
      var when = event.start.dateTime; 
      if (!when) { 
      when = event.start.date; 
      } 
      appendPre(event.summary + ' (' + when + ')') 
     } 
     } else { 
     appendPre('No upcoming events found.'); 
     } 

    }); 
    } 

    function appendPre(message) { 
    var pre = document.getElementById('output'); 
    var textContent = document.createTextNode(message + '\n'); 
    pre.appendChild(textContent); 
    } 

</script> 
<script src="https://apis.google.com/js/client.js?onload=checkAuth"> 
</script> 

以下のコードを使用して作成しました。

var event = { 
'summary': 'Google I/O 2015', 
'location': '800 Howard St., San Francisco, CA 94103', 
'description': 'A chance to hear more about Google\'s developer products.', 
'start': { 
'dateTime': '2015-05-28T09:00:00-07:00', 
'timeZone': 'America/Los_Angeles' 
}, 
'end': { 
'dateTime': '2015-05-28T17:00:00-07:00', 
'timeZone': 'America/Los_Angeles' 
    }, 
'recurrence': [ 
'RRULE:FREQ=DAILY;COUNT=2' 
], 
'attendees': [ 
    {'email': '[email protected]'}, 
    {'email': '[email protected]'} 
], 
'reminders': { 
'useDefault': false, 
'overrides': [ 
    {'method': 'email', 'minutes': 24 * 60}, 
    {'method': 'popup', 'minutes': 10} 
    ] 
    } 
}; 

var request = gapi.client.calendar.events.insert({ 
'calendarId': 'primary', 
'resource': event 
}); 

request.execute(function(event) { 
appendPre('Event created: ' + event.htmlLink); 
}); 

今、私はこのイベントをjavascriptを使用して更新したいと思います。 私に提案してください、どうすればjavascriptを使ってそれを達成できますか?

答えて

0

javascriptを使用してイベントを削除する場合は、SO questionが役立つと思います。

ここに表示されているサンプルコードです。

function createEvent(calendarId,title,startDt,endDt,desc) { 
var cal = CalendarApp.getCalendarById(calendarID); 
var start = new Date(startDt); 
var end = new Date(endDt); 

var event = cal.createEvent(title, start, end, { 
description : desc 
}); 

var events = cal.getEvents(start, end, { 
search: 'open' 
}); 

for (i in events){ 
events[i].deleteEvent(); 
} 
}; 

ここで見つけたリンクのドキュメントはAppsScriptですが、 Google Apps ScriptはJavaScriptに基づくスクリプト言語で、Google Appsで新しくてクールなことを実現できることにご注意ください。

関連する問題