Google api 谷歌日历API-我可以得到;私隐;活动场地?i、 e.公共/私人/默认-或此选项不可用

Google api 谷歌日历API-我可以得到;私隐;活动场地?i、 e.公共/私人/默认-或此选项不可用,google-api,google-calendar-api,Google Api,Google Calendar Api,关于谷歌日历API,我似乎看不到事件的“隐私”字段?即公共/私人/默认 是否有办法获取事件的“隐私”字段?即公共/私人/默认-或此字段不可用?您无法获取事件的“隐私”字段,但必须在查询中筛选(公共/私人)事件 query = gdata.calendar.service.CalendarEventQuery('default', 'private', 'full') feed = calendar_service.CalendarQuery(query) CalendarEventQuery的

关于谷歌日历API,我似乎看不到事件的“隐私”字段?即公共/私人/默认

是否有办法获取事件的“隐私”字段?即公共/私人/默认-或此字段不可用?

您无法获取事件的“隐私”字段,但必须在查询中筛选(公共/私人)事件

query = gdata.calendar.service.CalendarEventQuery('default', 'private', 'full')
feed = calendar_service.CalendarQuery(query)
CalendarEventQuery的第二个参数是可见性(private\public)


也请查看。

我遇到了与您相同的问题(我想隐藏私人繁忙事件),但在web上找不到解决方案。
getVisibility()
在私人和公共事件上返回
未定义的
,我不知道为什么

因此,这是一种查找私有事件的方法,但它不会返回带有“default | private | full”的数组

getPrivateCopy()
如果事件是私有的,则返回
对象
,如果不是,则返回
未定义的

这就是我的代码:

var private = entry.getPrivateCopy();
//if the event isn't private
if (!private) {
//doing something
}
这不是最好的解决方案,因为该方法不会从提要中删除事件。
如果有人有更好的解决方案,我很感兴趣!

它对我很有效。更改或查看活动的隐私都有效

CalendarEventFeed resultFeed = myService.query(myQuery, CalendarEventFeed.class);

// Goes through all events.
System.out.println("Updating events from " + startTime.toString() + " to " + endTime.toString() + ":\n");
for (int i = 0; i < resultFeed.getEntries().size(); i++) {
  // Obtains the entry.
  CalendarEventEntry entry = resultFeed.getEntries().get(i);

  // Changes the visibility to private and update the entry.
  //entry.getVisibility().setValue(Visibility.PRIVATE_VALUE);
  //entry.update();

  // Print some information in the output.
  System.out.println("- " + entry.getTitle().getPlainText() + " -- Visibility is now: " + entry.getVisibility().getValue());
}
CalendarEventFeed-resultFeed=myService.query(myQuery,CalendarEventFeed.class);
//经历了所有的事件。
System.out.println(“将事件从“+startTime.toString()+”更新到“+endTime.toString()+”:\n”);
for(int i=0;i
取消注释“将可见性更改为私有”注释后的行,此代码将在默认日历中将您的所有事件更改为私有(假设
myService
是正确设置的
CalendarService
myQuery
是返回所有事件的查询)

希望这有帮助,
-Vítor Souza

我真的想要这个事件:所有不在工作时间内的事件,加上任何在工作时间内标记为Private的事件我会在有机会的时候尝试一下-感谢提供信息:我刚刚发现visibility对象有时为null。如果你只是想查看它的值,请检查null,而不是执行
entry.getVisibility().getValue
。如果要更改它,可以创建一个新的:
可见性=条目.getVisibility();If(可见性==null){Visibility=新的可见性(可见性.默认值);entry.setVisibility(可见性);}