API Календаря Google для приложения Windows 10 UWP

Я разрабатываю приложение 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 ответа

Прежде всего, идеальный гид здесь. Это объясняет четко шаг за шагом. Также вы можете следить за этим приложением для того, как реализовать. Теперь о вашей проблеме; В примере приложения, как вы видите, 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, это сработало как очарование для меня.

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"); 

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

Если вы получите следующее исключение на WebAuthenticationBroker UI,

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

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

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

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

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

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

Другие вопросы по тегам