【问题标题】:How to add someone with abillity to eddit events in callendar?如何添加能够在日历中编辑事件的人?
【发布时间】:2021-10-30 21:07:41
【问题描述】:

这是我的代码:

    var event = CalendarApp.getCalendarById("callendar id").createEvent(
  "title",
  "datetime of starting event", 
  "datetime of ending event");
        for (var a = 1; a <= editor.length; a++)
        {
          if (editor === editor[a-1][1])
          {      
            event.addGuest(editor [a-1][0]);
            //i want editing parameter here
          }
        }  
        for (var j = 1; j <= grupav.length; j++)  
        {
          Logger.log(grupav [j-1][0])
          event.addGuest(grupav [j-1][0]);
        }
      }

editorgropav 是带有电子邮件的数组,首先是允许成为编辑的人,其次是没有编辑权限的读者。

【问题讨论】:

  • “分配角色”是什么意思?附言为了有一个好的minimal reproducible example,您可能需要为dataeditorgrupvav 添加一些示例数据,或者只创建一个处理单个事件的minimal reproducible example,包括代表性的硬编码 价值观。
  • @Rubén 这更好吗?
  • 仍然不完全清楚您所说的“分配角色”是什么意思,无论如何,我认为您的意思是日历访问角色。请查看我的答案。

标签: google-apps-script google-calendar-api


【解决方案1】:

假设您所说的“角色”指的是Sharing and Attendees 中描述的访问角色,它们属于共享日历部分,这意味着它们被分配给日历,而不是事件。

如果您想允许某人编辑活动,您必须与他们共享日历并为他们分配作者访问角色。 Mogsdad's answer 对上一个问题有一个如何使用 Google Apps 脚本共享日历的示例。请注意,Mogsdad 的代码使用高级日历服务。如果您不熟悉此服务,请阅读此答案的资源部分中的链接。

您可能使用 Mogsdad 的 shareCalendar 函数的方式可能是这样的:

let rule = shareCalendar( 'gobbledygook@group.calendar.google.com',
               editor [a-1][0],
               'writer' );

相关

资源

【讨论】:

  • 应该是这样的吗? var rule = shareCalendar("日历 id",editor [a-1][0]).role = "writer";我真的不明白 Mogsdad 的回答是诚实的,这对我来说很难阅读
  • 我编辑了答案
  • 您似乎错过了添加 shareCalendar 函数声明。不要忘记启用高级日历服务并添加相应的代码以使用创建/更新规则。
  • 你建议我使用 Mogsdad 的功能?
  • 只有在你能够理解它的工作原理和使用方法的情况下。
猜你喜欢
  • 2018-09-07
  • 2012-01-02
  • 1970-01-01
  • 2011-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多