2012-07-28 27 views
0

下面的代码事件是假设从谷歌日历GoogleAppsScript - 无法从日历

// The code below will retrieve all the events for the user's default calendar and 
// display the description of the first event 
var cal = CalendarApp.getDefaultCalendar(); 
Logger.log(cal.getName()); 
var events = cal.getEvents(new Date("July 01, 2012 EST"), new Date("July 30, 2012 EST")); 
if (events[0]) { 
    Logger.log(events[0].getDescription()); 
} 
else 
{ 
    Logger.log("No events found"); 
} 

但其只打印“未找到任何活动”获得七月一个月的事件,

我核实日历命名它获得正确的日历,虽然没有得到事件

还有什么需要验证?

回答

1

上述代码出于某种原因在我的Chrome浏览器(版本:20.0.1132.57)上出现故障,我尝试使用Safari并且这次它工作。

0

我试过你的代码,它按照书面的方式工作。

您是否在未定义用户并且getDefaultCalendar()无法确定默认日历的位置运行此操作?

+0

“Logger.log(cal.getName())”,在上面的代码,是给正确的用户名 – Arun 2012-07-28 19:32:42

+0

也许请检查你看实际上是在用户的事件日历,而不是在他们创建的另一个日历中。我可以复制'找不到事件'的唯一方法是在默认日历中没有事件。你的代码看起来不错。 – Weehooey 2012-07-28 19:51:23

+0

我验证了事件存在于适当的日历中,但没有运气,是否还有其他东西丢失。我正通过Chrome浏览器的https://script.google.com从容器执行脚本 – Arun 2012-07-29 18:32:00

0

方法getDescription()将只获取事件的描述。所以如果在创建的事件中没有描述,记录器将是空的。

试试这个,例如:

function myCalender(){ 

var cal = CalendarApp.getDefaultCalendar(); 
Logger.log(cal.getName()); 
var events = cal.getEvents(new Date("July 01, 2012 EST"), new Date("August 10, 2012 EST")); 

var eventsCount = events.length; 
for (var i = 0; i <= eventsCount -1; i++) { 

var myEvent =events[i]; 

var myDescription = myEvent.getDescription(); 
var myStartTime = myEvent.getDateCreated(); 
var myEndTime = myEvent.getEndTime(); 

Logger.log(myEvent.getDescription(), myEvent.getEndTime()); 

} 

}