2015-08-24 1 views
0

Я работаю с API календаря Google, чтобы получить все события для указанного календаря. После настройки моих учетных данных и вызова следующего, чтобы получить список всех моих каландров:CalenderList.List(). Execute() Не возвращается, Google calender API

 var test = service.Calendars.Get(id).Execute(); 

Execite() делает вызов на сервер Google, но я не получаю ответ от этого вызова , И он остается в этом состоянии бездействия.

общественности статической ServiceAccountCredential Authenticate() {

 string serviceAccountEmail = "[email protected]"; 
     string keyFilePath = @"filepath"; 

     // what googleApi features to access 
      _scopes = new string[] 
     { 
      CalendarService.Scope.Calendar, // Manage your calendars 
      CalendarService.Scope.CalendarReadonly // View your Calendars 
     }; 

     var certificate = new X509Certificate2(keyFilePath, "notasecret", X509KeyStorageFlags.Exportable); 

     ServiceAccountCredential credential = new ServiceAccountCredential(
      new ServiceAccountCredential.Initializer(serviceAccountEmail) 
      { 

       Scopes = _scopes 
      }.FromCertificate(certificate)); 


     return credential; 
    } 



public class GoogleCalenderRepository 
{ 
    ServiceAccountCredential _credentials; 

    public GoogleCalenderRepository() 
    { 
     _credentials = GoogleServiceAccountAuthentication.Authenticate(); 
    } 
    // use async and await 
    public string RoomAvailability() 
    { 
     CalendarService service = new CalendarService(new BaseClientService.Initializer() 
     { 
      HttpClientInitializer = _credentials, 
      ApplicationName = "My Project", 
     }); 

     var calender = service.Calendars.Get("@...group.calendar.google.com").Execute(); 

     return null; 
    } 
} 

редактировать: когда вызвать Execute() в моем выходном экране я получаю:

Нить 0x13f4 завершился с кодом 0 (0x0)

+0

Если календари равно нуль, то пользователь вы аутентификация с не имеет какие-либо календарей там календарный список или вы используете учетную запись службы и не вставили любые календари к нему. – DaImTo

+0

Я использую учетную запись службы. Функция Execute() просто не возвращается обратно к вызывающему коду. Календар, я делюсь с электронной почтой службы ... @ developer.gservericeaccount.com –

+0

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

ответ

0

Этот пример приведен в VB.NET, извлеченном из моего приложения в реальном времени.

Он показывает вам, как вызвать API календаря Google, чтобы получить список календарей для вашего имени пользователя. Вы можете перевести на C# вручную или с помощью одной из онлайн-сервисов.

Dim objCalendarListRequest As CalendarListResource.ListRequest 
    Dim objCalendars As Data.CalendarList 
    objCalendarListRequest = objCalendarService.CalendarList.List 
    objCalendars = objCalendarListRequest.Execute() 
    For Each objCal As Data.CalendarListEntry In objCalendars.Items 
     If objCal.Primary IsNot Nothing AndAlso objCal.Primary Then 
      Debug.WriteLine("ID=" & objCal.Id & ", Description=" & objCal.Description & ", Summary=" & objCal.Summary) 
      Exit For 
     End If 
    Next 

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

  • Нет связанных вопросов^_^