API Календаря Google для приложения UWP Windows 10 - PullRequest
0 голосов
/ 09 мая 2018

Я занимаюсь разработкой приложения UWP для Windows 10 и хочу отображать события из моего Календаря Google на экране, который подключен к моей Raspberry Pi. Проблема в том, что Google-Calendar-API v3 не поддерживает UWP.

Обходной путь уже существует API Календаря Google для приложения Windows 10 UWP. Одна или несколько ошибок произошли , но почему-то не удается запустить код. У меня та же проблема, которая упоминается в комментариях. Но когда я заменяю var redirectURI = "pw.oauth2:/oauth2redirect"; "] на [" var redirectURI = "localhost/urn:ietf:wg:oauth:2.0:oob";], ничего не происходит.

Что я делаю не так? Есть ли другой способ получить события из моего Календаря Google в мое приложение UWP? Или есть что-то вроде http-запроса?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 11 июня 2018

Прежде всего, идеальный гид здесь .Это объясняет четко шаг за шагом.Также вы можете следить за этим приложением, чтобы узнать, как его реализовать.Теперь о вашей проблеме;В примере приложения, как вы можете видеть, URL перенаправления используется без localhost.это должно выглядеть так, как показано ниже.Вы можете использовать urn:ietf:wg:oauth:2.0:oob:auto вместо urn:ietf:wg:oauth:2.0:oob Разница в том, что браузер автоматически закрывается и возвращается обратно.другой, код должен быть скопирован вручную.И самое главное здесь, в консоли Google, когда вы создаете новые учетные данные, вы должны выбрать Ios, как показано ниже.иначе вы не можете работать с urn:ietf:wg:oauth:2.0:oob:auto.это сработало как очарование для меня.

enter image description here

var googleUrl = new System.Text.StringBuilder();             
            googleUrl.Append("https://accounts.google.com/o/oauth2/auth?client_id="); 
            googleUrl.Append(Uri.EscapeDataString("your client it")); 
            googleUrl.Append("&scope=openid%20email%20profile"); 
            googleUrl.Append("&redirect_uri="); 
            googleUrl.Append(Uri.EscapeDataString("urn:ietf:wg:oauth:2.0:oob:auto")); 
            googleUrl.Append("&response_type=code"); 
            googleUrl.Append("&include_granted_scopes=true"); 
0 голосов
/ 10 мая 2018

Во-первых, клиентская библиотека Google API для .NET до сих пор не поддерживает UWP. Через REST API это правильный обходной путь для вас.

Если в пользовательском интерфейсе WebAuthenticationBroker появляется следующее исключение,

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

То же самое, что упомянуто в комментарии вышеупомянутой ветки, вам нужно устранить неполадки API брокера веб-аутентификации, чтобы найти внутренние причины. Вы можете просматривать рабочие журналы и просматривать веб-запросы и ответы, используя Fiddler. Подробности о том, как это сделать, см. в этом уроке .

Или вы также можете попробовать проверить ваш запрос с помощью OAuth для приложений: образцы Windows . В этом примере демонстрируется, как вы можете открыть браузер пользователя с помощью запроса авторизации OAuth 2.0, не используя WebAuthenticationBroker. В этом случае вы можете узнать, можете ли вы войти в систему напрямую через браузер. Если что-то не так, вы также можете увидеть ошибки в браузере.

Одной из распространенных возможных причин является ошибка навигации, которая означает, что что-то не так при переходе к URL-адресу вашего запроса. Например, вы можете получить , не удается подключиться к прокси-серверу, ошибка с браузером. В этом случае вы можете попробовать отключить опцию Use a proxy server в Settings->Network->Proxy.

Если вы по-прежнему не можете решить свою проблему, выполнив вышеуказанные действия, сообщите подробности внутренней ошибки, как я упоминал. Например, предоставьте журнал:

enter image description here

Для получения законченного образца, пожалуйста, обратитесь к сценарию 4 официального образца .

...