4

我无法弄清楚如何将日历添加到域的所有用户的CalendarList.

到目前为止,我可以成功地创建Calendar并创建一个域范围,ACL但我不知道如何将日历插入域用户的列表中。

使用 ruby​​ 客户端 API,它看起来像这样:

client = Google::APIClient.new
service = client.discovered_api("calendar", "v3")

calendar_response = JSON.parse(client.execute(:api_method => service.calendars.insert,
  :body => JSON.dump({"summary" => "events"}),
  :headers => { "Content-Type" => "application/json" }).response.body)

rule = {
  "scope" => {
    "type" => "domain",
    "value" => domain,
  },
  "role" => "writer"
}
acl_result = client.execute(:api_method => service.acl.insert,
  :parameters => { "calendarId" => calendar_response["id"] },
  :body => JSON.dump(rule),
  :headers => { "Content-Type" => "application/json" })

这一切都很好。它创建日历并与域中的每个人共享。我不知道如何将其明确添加到用户的日历列表中。

添加到单个 authed 用户的日历列表如下所示:

list_params = {
  "calendarId" => calendar_response["id"],
  "hidden" => false,
  "selected" => true
}
calendar_list_result = client.execute(:api_method => service.calendar_list.insert,
  :body => JSON.dump(list_params),
  :headers => { "Content-Type" => "application/json" })

问题:

  • 如果我被认证为域管理员,我可以CalendarList为所有用户创建项目吗?
  • 如果是这样,可以使用单个命令完成还是我需要使用每个用户 ID 拨打电话?
  • 如果我需要为每个用户执行一个命令,我如何获取用户 ID?
4

1 回答 1

2

如果我被认证为域管理员,我可以为所有用户创建 CalendarList 项目吗? 不,你不能:(。

如果是这样,可以使用单个命令完成还是我需要使用每个用户 ID 拨打电话? 您必须为每个用户 ID 拨打电话。

如果我需要为每个用户执行一个命令,我如何获取用户 ID?要检索用户 ID,您首先必须使用 Admin SDK API, https://developers.google.com/admin-sdk/directory/v1/guides/manage-users#get_all_domain_users 列出域中的所有用户,然后为每个INSERT 命令在您更改用户 ID 的日历中,用于电子邮件地址。

于 2013-11-21T13:08:58.517 回答