2014-11-11 4 views
0

Я реализовал Gmail Апи для электронной management..but на моем локальном IIS, это дает ниже ошибкиSystem.UnauthorizedAccessException доступ к пути «Google.Apis.Auth» Отказано с Gmail Апи

System.UnauthorizedAccessException доступа на путь «Google.Apis.Auth» отказано.

Я дал разрешение на «EveryOne» в папке проекта, а также на «~ \ AppData \ Roaming \ Google.Apis.Auth», поскольку я где-то читал, что Gmail Api получает доступ к этой папке для токенов/деталей.

После кода я использую:

UserCredential верительных; using (var stream = new FileStream (Server.MapPath ("/") + "client_secrets_desktop.json", FileMode.Open, FileAccess.Read)) { credential = wait GoogleWebAuthorizationBroker.AuthorizeAsync (GoogleClientSecrets.Load (поток). Секреты, новый [] {GmailService.Scope.GmailReadonly}, «пользователь», CancellationToken.None); }

 var service = new GmailService(new BaseClientService.Initializer() 
     { 
      HttpClientInitializer = credential, 
      ApplicationName = "Gmail Test", 
     }); 





     try 
     { 
      ListLabelsResponse response = service.Users.Labels.List("me").Execute(); 
      //foreach (Label label in response.Labels.OrderBy(p => p.Name)) 
      //{ 
      // Console.WriteLine(label.Id + " - " + label.Name); 
      //} 
     } 

Заранее спасибо ...

ответ

0

Если бы такая же проблема и решить ее, добавив параметр DATASTORE в

GoogleWebAuthorizationBroker.AuthorizeAsync() 

вызов, который генерирует учетные данные. Это добавляет FileDataStore (хранение)

 credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
      GoogleClientSecrets.Load(stream).Secrets, 
      Scopes, 
      createdByUser, 
      CancellationToken.None, 
      new FileDataStore(storage)).Result; 

где «хранилище» локальная папка (напр./App_Data/папка), где пользователь ASP.NET должен иметь права на чтение/запись.

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