2013-11-12 3 views
0

я получаю следующее сообщение об ошибке при использовании учетной записи службы + олицетворения для получения Google записей календаря:Как получить записи календаря Google с помощью учетной записи службы и .NET

Ошибки: «ACCESS_DENIED», Описание: «», Uri : ""

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

В связи с этим я заметил, что, используя поток пользователя oAuth2, возвращаемые события включают те, которые я не являюсь участником, поэтому я не понимаю, следует ли фильтровать возвращенные события только тем, кто я являюсь участником.

Вот код учетной записи службы + олицетворения:

string serviceAccountEmail = "[email protected]"; 
var certificate = new X509Certificate2(Server.MapPath("~") + @"\bin\key.p12", "notasecret", 
    X509KeyStorageFlags.Exportable); 

ServiceAccountCredential credential = new ServiceAccountCredential(new 
    ServiceAccountCredential.Initializer(serviceAccountEmail) 
    { Scopes = new[] { CalendarService.Scope.Calendar }, User="my email here" }.FromCertificate 
    (certificate));  

BaseClientService.Initializer initializer = new BaseClientService.Initializer(); 
initializer.HttpClientInitializer = credential; 
initializer.ApplicationName = "Google Calendar Sample"; 
service = new CalendarService(initializer); 

IList list = service.CalendarList.List().Execute().Items; // throws error 

foreach (CalendarListEntry calendar in list) 
    DisplayFirstCalendarEvents(calendar); 

Получение календаря непосредственно также бросает ту же ошибку:

Calendar cal1 = service.Calendars.Get("my personal calendar id").Execute(); //throws same error

ответ

0

Наша команда Календарь API проверили, что один и они выяснили следующее :

  1. Вы пытались получить доступ к событиям lbl.gov_7d ... [email protected] oogle.com, используя учетную запись службы 628725648769-cda .... [email protected] Я прав? Похоже, вы выполнили успешные операции вставки события, используя эту учетную запись службы на 12-м.

  2. В этот календарь не поступают запросы с этой учетной записи.

  3. Однако эта учетная запись службы также получила доступ к lbl.gov_oe10h ..... [email protected] на 12-м и начале, операции возвращались 404, последние 200 (возможно, кто-то изменил ACL для этот календарь тем временем?).

Имеет смысл?

Смежные вопросы