2013-08-05 72 views
2

我看着Mogsdad的回答了類似的問題here,但它不是我的問題特別具體。我也看了看documentation for the Calendar class and its subclasses,但沒有方法(應該在我看來執行;有一個掛起feature request)從日曆X複製事件日曆Y.Google Apps腳本將事件從一個日曆移動到另一個

我想要什麼做如下:

  1. 有ID爲日曆事件被移動存儲的地方。
  2. 當事件Z完成時(外部條件,而不是基於時間),給該函數提供日曆事件ID。
  3. 功能將在日曆X將事件Z到日曆Y.

我能想到的是如何做到這一點的唯一方法是馬虎(下半僞):

// y is Calendar Y, z is the ID of Event Z 
function moveToNewCalendar(y, z) { 

var eventToMove = getEventByID(z); 

// eventDetails is an Object 
var eventDetails = getAllEventDetails(eventToMove); // This is not fun! 

y.createEvent(eventDetails); 
eventToMove.deleteEvent(); 
} 

function getAllEventDetails(e) { 

var details = {}; 

details["title"] = e.getTitle(); 
details["startTime"] = e.getStartTime(); 
// ... etc 

return details; 

} 

function createEvent(eventDetails) { 
// Create event using the information pulled from eventDetails 
} 

這功能可通過Google Calendar API v3 - move功能獲得,但不能通過GAS獲得。

我想主要的問題是複製事件的細節。日曆原型中沒有createEvent(Event e)的功能。有沒有更簡單的方法來做到這一點,我只是想念?

+0

好問題......要是你寫代碼來獲取/設置所有的事件屬性(因爲我擔心它將成爲完成它的唯一方法: - /)請儘可能在這裏分享它! –

+0

好吧,如果這是在開發人員實現他們自己的功能之前做到這一點的最佳方式,那麼我就可以開始工作了!完成後,我會用代碼更新這個問題作爲答案。 –

回答

1

new library羅曼Vialard書面會給你一個完整的解決方案。我很高興能成爲一個beta測試,我所有的測試都是成功的:-)

+0

我希望我能多點贊!感謝Romain Vialard,爲我們提供了我們所需要的功能。在我自己回到編寫'moveToAnotherCalendar'函數之前,我會完成一些其他的邊項目,我很高興我事先來到這裏,以免我重新發明輪子。現在這應該實施到標準。如果我沒有弄錯,羅曼是不是他的GAS項目成員?無論如何,我希望那些需要這個庫的功能的人在這個SO問題上偶然發現!再次感謝Serge,你是一名GAS職業球員,我感謝你的所有幫助:) –

+1

謝謝,Romain是[頂級貢獻者](https://developers.google.com/apps-script/support)誰開發了相當大量的天然氣應用程序和圖書館,看看他與另一個輝煌的TC的網站,它充滿了偉大的東西...... :-) –

+1

看起來這個鏈接現在已經壞了。有沒有其他鏈接? – derekantrican

相關問題