2015-04-07 2 views
2

У меня проблема с аутентификацией моего приложения с помощью gmail api для C#. Буду признателен, если кто-нибудь сможет помочь! myCredintial и MYSERVER частные классы определены класс сервера, каждый раз, когда я получаю сообщение об ошибке «System.IO.FileNotFoundException в когда AuthorizeBroker называетсяаутентификация gmail api C# windows phone 8.1

if (myServer != null) 
      return; 

     Uri secrets = new Uri("ms-appx:///Assets/client_secrets.json"); 

     myCredential = await GoogleWebAuthorizationBroker.AuthorizeAsync(new Uri("ms-appx:///Assets/client_secrets.json", UriKind.RelativeOrAbsolute), 
       new[] { GmailService.Scope.GmailReadonly }, 
       "user", 
       CancellationToken.None); 
     String s = myCredential.UserId; 
     myServer = new GmailService(new BaseClientService.Initializer() 
     { 
      HttpClientInitializer = myCredential, 
      ApplicationName = "test", 
     }); 
+0

Получены ли какие-либо ошибки или коды ошибок? – Andy

+0

на самом деле это дает мне исключение, не найденное в файле, что действительно странно, поскольку, когда я передаю uri другого json-файла рядом с предполагаемым файлом, он дает мне еще одну ошибку, которая не соответствует рассогласованию или что-то в этом роде !! Есть идеи ??? – apramc

+1

Я думаю, что я немного опаздываю, но лучше всего было бы проверить, установлен ли для параметра «Копировать в выходной каталог» значение «Копировать всегда» или «Копировать, если новый». Может быть задан в свойствах файла в обозревателе решений. – danyloid

ответ

0

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

У нас был DataModel/SampleData.json в нашем проекте, который был автоматически сгенерирован визуальной студией, когда мы создали страницу концентратора. Я знал, что этот файл можно загрузить, и таким образом я сохранил его как client_secrets.json и оставил его в нашей папке DataModel. Я также отметил, что для свойства Copy to Output Directory установлено значение «Не копировать», и поэтому я оставил его как таковой для client_secrets.json.

Как только я указал на этот новый файл, он сработал. Не уверен, что это была проблема с тем, как я создал первый, или тем фактом, что он был в папке с ресурсами или что я установил его для копирования всегда.

+0

Я пробовал, но он не работает, интересно, что пакет google api, который существует в работе dev на моем компьютере, заставляет меня задаться вопросом, есть ли что-то не так с настройками решения. – apramc

1

По умолчанию свойства «Build Action» файлов, скопированных в решении, равны null, проблема разрешена путем изменения свойства «Build Action» на Content.

+0

Благодарю ... Спасибо! Пожалуйста, отметьте как правильный ответ! –