我正在开发一个UWP Windows10应用程序,希望在连接到我的树莓派的屏幕上显示我的Google日历中的事件。问题是,Google-Calendar-API不支持v3。
在Google Calendar API for UWP Windows 10 Application One or more errors occurred上已经有了一个变通方法,但不知何故无法运行代码。我有同样的问题,这是在评论中提到的。但是,当我将var redirectURI = "pw.oauth2:/oauth2redirect"; "]替换为[" var redirectURI = "localhost/urn:ietf:wg:oauth:2.0:oob";]时,什么也没有发生。
我做错了什么?有没有其他方法可以让我的谷歌日历到我的UWP应用程序中的事件?或者是否有类似http请求的东西?
谢谢!
发布于 2018-05-10 14:07:06
首先,now.Through REST API仍然不支持.NET的Google API客户端库是正确的解决方法。
如果您在WebAuthenticationBroker UI上得到以下异常,
我们当前无法连接到您需要的服务。请检查您的网络连接或稍后再试
这与上面线程的评论中提到的相同,您需要对web身份验证broker API进行故障排除,以找到内部原因。您可以使用Fiddler查看操作日志并查看web请求和响应。具体操作方法请参考this tutorial。
或者,您也可以尝试使用OAuth for Apps: Windows Samples测试您的请求。此示例演示如何在不使用WebAuthenticationBroker的情况下使用OAuth 2.0授权请求打开用户的浏览器。在这种情况下,您可以知道您是否可以直接使用浏览器成功登录。如果有任何错误,你也可以在浏览器内部看到错误。
一个常见的可能原因是导航错误,这意味着在导航到请求URL时出现了错误。例如,浏览器可能会出现can‘t connect to proxy server错误。在这种情况下,您可以尝试在Settings->Network->Proxy中关闭Use a proxy server选项。
如果您仍然不能通过以上操作解决问题,请按我提到的方式提供内部错误详细信息。例如,提供日志:

有关完整的示例,请参考official sample的场景4。
发布于 2018-06-11 07:52:48
首先,完美的指南here。它一步一步地解释清楚。此外,您还可以跟随this应用程序了解如何实现。现在来看看您的问题;在示例应用程序中,您可以看到,使用了不带localhost的重定向url。它应该如下所示。你可以使用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"); https://stackoverflow.com/questions/50242480
复制相似问题