2016-07-01 2 views
1

При получении событий моего календаря с помощью учетной записи службы появляется следующее сообщение об ошибке.Не найден исключение при выполнении запроса в учетной записи службы

Может ли кто-нибудь сказать мне, что я делаю неправильно.

Google.Apis.Requests.RequestError Не найдено [404] Ошибки [Сообщение [Не найдено] Местоположение [-] Причина [NotFound] Домен [глобальной]] // путь к файлу строка GoogleOAuth2CertificatePath = Server.MapPath (» GoogleStore \ My Project-a725fb0190fc.p12 ");

// @developer... e-mail address. 
     string GoogleOAuth2EmailAddress = "[email protected]"; 

// certificate password ("notasecret"). 
     string GoogleOAuth2PrivateKey = "notasecret"; 


    X509Certificate2 certificate = new X509Certificate2(GoogleOAuth2CertificatePath, GoogleOAuth2PrivateKey, X509KeyStorageFlags.Exportable); 

    ServiceAccountCredential credential = new ServiceAccountCredential(
      new ServiceAccountCredential.Initializer(GoogleOAuth2EmailAddress) 
      {     
       Scopes = new[] { CalendarService.Scope.Calendar }     
      }.FromCertificate(certificate)); 

     // Create the service. 
     service = new CalendarService(new BaseClientService.Initializer() 
     { 
      HttpClientInitializer = credential, 
      ApplicationName = ApplicationName 
     }); 

    ListRequest request = service.Events.List(calID);   
       request.ShowDeleted = false; 
       request.SingleEvents = true;    
       events = request.Execute(); 

Благодарим за любой ответ, что может мне помочь.

ответ

-1

Обычно при встрече 404: Not found указанный ресурс не найден. Это может произойти в нескольких случаях.

  • , когда запрашиваемый ресурс никогда не существовал.
  • при доступе к календарю, к которому пользователь не может получить доступ.

На основании официальной документации Google предлагается ввести exponential backoff.

Exponential backoff - стандартная стратегия обработки ошибок для сетевых приложений, в которой клиент периодически повторяет неудавшийся запрос за все большее количество времени. Если большой объем запросов или интенсивный сетевой трафик заставляет сервер возвращать ошибки, экспоненциальное отключение может быть хорошей стратегией для обработки этих ошибок. И наоборот, это не соответствующая стратегия для устранения ошибок, не связанных с ограничением скорости, томом сети или временем отклика, например, недопустимыми учетными данными авторизации или отсутствием файлов.

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

Обратите внимание, что в каждом запросе ваше приложение отправляется на токен Google Calendar API must include an authorization. Токен также идентифицирует ваше приложение в Google.

Вот связанный с этим билет на СО 404 not found Ошибка: Error 404 when creating a calendar with Google Calendar Api v3 using c# .net

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