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 официального образца.