2016-05-08 4 views
1

Я занимаюсь разработкой сайта, связанного с Календарем Google. Этот сайт использует API JavaScript Google для извлечения событий в общедоступном календаре и их рендеринга на веб-сайте. Теперь я могу создавать новые события, обновлять события и удалять события с моего сайта и обновляться без каких-либо проблем в Календаре Google.Google Calendar JavaScript api, добавить пользователя в календарь с правом «записи»

Если я могу редактировать эту информацию календаря, так как моя учетная запись Google имеет разрешение на чтение и запись в этом конкретном календаре.

Мой вопрос: есть ли способ добавить пользователей в список учетных записей, имеющих разрешение на запись для этого календаря с использованием JavaScript API? Очевидно, что я не хочу вручную добавлять электронные письма каждой учетной записи на странице настроек календаря.

Что я могу сделать? Нужно ли мне вставлять правило управления ACL (не так много документации по этому поводу для JavaScript) или что-то в этом роде?

ответ

1

Использование Acl: insert вы можете добавить пользователя с разрешениями «писатель» или «владелец», которые предоставляют пользователям права на чтение и запись в ваш календарь.

Роль, присвоенная области. Возможные значения:

  • «none» - Недоступно.
  • «freeBusyReader» - предоставляет доступ к информации о свободном и занятом доступе. - «читатель» - обеспечивает доступ для чтения к календарю. Частные события будут появятся пользователям с доступом для читателей, но информация о мероприятии будет скрыта.
  • «writer» - предоставляет доступ к календарю для чтения и записи. Частные события появятся для пользователей с доступом к записи, и информация о мероприятии будет видна .
  • «владелец» - предоставляет право собственности на календарь. Эта роль имеет все разрешения роли писателя с дополнительной способностью видеть и управлять списками ACL.

Используя API Explorer, на той же странице, я был в состоянии успешно сделать этот запрос:

POST https://www.googleapis.com/calendar/v3/calendars/[email protected]/acl?key={YOUR_API_KEY} 

{ 
"role": "writer", 
"scope": { 
    "type": "user", 
    "value": "[email protected]" 
} 
} 

Вы можете использовать его с клиентом Google API Javascript, как это:

var calendarid = "[email protected]"; 
var req = { 
    "calendarId": calendarid, 
    "resource": { 
    "role": "writer", 
    "scope": { 
     "type": "user", 
     "value": "[email protected]" 
    } 
    } 
} 
var request = gapi.client.calendar.acl.insert(req); 
request.execute(function(resp) { 
    console.log(resp); 
});