1

我正在尝试构建一个可以访问 Google 预测 API 的 .NET 服务应用程序。

此应用程序是一项服务(无用户交互),因此我想知道如何自动对 Google API 进行身份验证(无需打开用于登录的浏览器,然后按“授权”)。

我试过的:

  • 运行了一些 .NET Google API 示例——它们似乎都需要这种打开浏览器并要求用户单击的身份验证方案(我相信这称为本机应用程序客户端身份验证)。

  • 尝试使用服务帐户OAuth2 身份验证 - 这是正在进行的工作。但是,没有用于此的 .NET 库。我目前正在使用 python 示例并且遇到了一些问题(因为我不是 Python 开发人员)。

在这一点上,我希望我能够让 python 示例运行并在 .NET 中重新编写它,或者将它与 Iron Python 一起使用。

我很感兴趣是否有人以前遇到过这种问题以及解决方案是什么。如果在 .NET 中(目前)无法进行 OAuth2 服务身份验证,我也对非 OAuth2(并且可能已弃用)身份验证解决方案持开放态度。

4

1 回答 1

1

我编写了一个示例应用程序(在 Python 和 Java 中,抱歉在 C# 中不可用),它进行一次身份验证,将 OAuth 凭据和相关数据存储在服务器(Google App Engine)上,然后重用这些共享凭据,刷新需要时访问令牌,无需最终用户查看 OAuth 允许/拒绝对话框或 OAuth 的任何其他方面。

这仍然需要应用程序管理员执行 OAuth 对话框,但这是一次性事件。如果出于某种原因您想要重置存储的服务器凭据,则可以通过特殊 URL 按需重新执行初始化步骤,但是,此重置功能受到保护,因此只有应用程序管理员可以发出该请求,而不是最终用户.

于 2012-05-19T15:08:57.040 回答