Я разрабатываю приложение UWP для Windows 10 и хочу отображать события из моего Календаря Google на экране, который подключен к моему Raspberry Pi. Проблема в том, что Google-Calendar-API v3 не поддерживает UWP.
Для API Google Calendar для приложения UWP Windows 10 Произошла одна или несколько ошибок уже есть обходной путь, но почему-то не удается запустить код. У меня такая же проблема, о которой упоминается в комментариях. Но когда я заменяю var redirectURI = "pw.oauth2:/oauth2redirect"; "] на [" var redirectURI = "localhost/urn:ietf:wg:oauth:2.0:oob";], ничего не происходит.
Что я делаю неправильно? Есть ли другой способ перенести события из моего Календаря Google в мое приложение UWP? Или есть что-то вроде http-запроса?
Спасибо!





Во-первых, клиентская библиотека Google API для .NET на данный момент все еще не поддерживает UWP. REST API - правильный обходной путь для вас.
Если вы получаете следующее исключение в пользовательском интерфейсе WebAuthenticationBroker,
We cannot connect to the service you need right now. Check your network connection or try this later
То же самое, что упоминалось в комментарии к вышеупомянутой теме, вам необходимо устранить неполадки API брокера веб-аутентификации, чтобы найти внутренние причины. Вы можете просматривать рабочие журналы и просматривать веб-запросы и ответы с помощью Fiddler. Подробности о том, как это сделать, см. В этот учебник.
Или вы также можете попробовать проверить свой запрос с помощью OAuth для приложений: образцы Windows. В этом примере показано, как открыть браузер пользователя с помощью запроса авторизации OAuth 2.0 без использования WebAuthenticationBroker. В этом случае вы можете узнать, можете ли вы успешно войти в систему напрямую с помощью браузера. Если что-то не так, вы также можете увидеть ошибки внутри браузера.
Одна из распространенных возможных причин - ошибка навигации, которая означает, что при переходе по URL-адресу вашего запроса что-то не так. Например, вы можете получить ошибку не могу подключиться к прокси-серверу в браузере. В этом случае вы можете попробовать отключить опцию Use a proxy server в Settings->Network->Proxy.
Если вы по-прежнему не можете решить свою проблему, выполнив указанные выше действия, предоставьте сведения о внутренней ошибке, как я уже упоминал. Например, предоставьте журнал:
Для получения готового образца обратитесь к сценарию 4 из официальный образец.
@Raither, я видел, как вы удалили свой ответ, который на самом деле является вопросом. Вы открыли новый или готовились к редактированию, чтобы обновить текущий вопрос?
Прежде всего, идеальный гид здесь. Это четко объясняет шаг за шагом. Также вы можете следить за приложением это, чтобы узнать, как его реализовать.
Теперь по поводу вашей проблемы; В примере приложения, как вы можете видеть, 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");
Спасибо вам за помощь! Код уже запущен. Я использовал идентификатор клиента из примера Windows и поместил его в код из <stackoverflow.com/questions/40539180/…>. Вход работает нормально, и теперь мой вопрос. Как я могу получить список событий из моего Календаря Google в мое приложение UWP? Я выложу свой код ниже. Спасибо!