Есть ли способ изменить уровень доступа в Календаре Google? - PullRequest
2 голосов
/ 16 марта 2011

У меня есть следующий код для создания нового календаря для контакта в gmail:

// Create a CalenderService and authenticate
CalendarService myService = new CalendarService("exampleCo-exampleApp-1");
myService.setUserCredentials("email@email.com", "password");

CalendarEntry calendar = new CalendarEntry
{
    Title = { Text = "Example title" },
    Summary = { Text = "Example summary" },
    TimeZone = "Europe/London",
    Hidden = false,
    Color = "#2952A3",
    Location = new Where("", "", "Location"),
};

Uri postUri = new Uri("https://www.google.com/calendar/feeds/default/owncalendars/full");
CalendarEntry createdCalendar = (CalendarEntry)myService.Insert(postUri, calendar);

Есть ли какой-либо другой метод или свойство, которое я могу использовать, чтобы поделиться этим календарем в конструкторе или после его создания?Я просмотрел все, но ничего не выпрыгнуло, гуглил и осматривал этот сайт тоже, но безуспешно.

Я видел примеры того, как установить каждый уровень доступа для каждого события, попробуйте индивидуально,но не весь календарь, что возможно, нажав на настройки календаря Google.

Спасибо

1 Ответ

1 голос
/ 17 марта 2011

Найден подарок для всех, кто сталкивался с этим:

string postUristring = string.Empty;

// note this could change in future!
string feedString = createdCalendar.Id.AbsoluteUri.LastIndexOf("/") + 1;
postUristring = feedString.Substring(0, feedString.Length - 28);

AclEntry entry = new AclEntry();

entry.Scope = new AclScope();
entry.Scope.Type = AclScope.SCOPE_DEFAULT;

entry.Role = new AclRole();
entry.Role = AclRole.ACL_CALENDAR_READ;

Uri aclUri = new Uri("http://www.google.com/calendar/feeds/"
             + postUristring + "@group.calendar.google.com" + "/acl/full");

AclEntry insertedEntry = myService.Insert(aclUri, entry);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...