我正在尝试构建一个可以访问Google的Prediction API的.NET服务应用程序。
此应用程序是一项服务(无用户交互(,因此我想知道如何自动向Google API进行身份验证(无需打开要登录的浏览器,然后按"授权"(。
我尝试过:
-
运行了一些 .NET Google API 示例 - 它们似乎都需要这种打开浏览器并要求用户单击的身份验证方案(我相信这称为本机应用程序客户端身份验证(。
-
尝试使用服务帐户 OAuth2 身份验证 - 这是正在进行的工作。但是,没有用于此的 .NET 库;我目前正在使用 python 示例并遇到一些问题(因为我不是 Python 开发人员(。
在这一点上,我希望我能够得到python示例,并在.NET中重写它或将其与Iron Python一起使用。
我很感兴趣以前是否有人遇到过这种问题以及解决方案是什么。如果 OAuth2 服务身份验证(目前(在 .NET 中无法进行,我也对非 OAuth2(可能已弃用(身份验证解决方案持开放态度。
我编写了一个示例应用程序(在 Python 和 Java 中,抱歉在 C# 中不可用(,它进行身份验证一次,将 OAuth 凭据和相关数据存储在服务器上(Google App Engine(,从那时起重用这些共享凭据,在需要时刷新访问令牌,而无需最终用户查看 OAuth 允许/拒绝对话框, 或 OAuth 的任何其他方面。
这仍然需要应用程序管理员执行 OAuth 对话框,但这是一次性事件。如果由于某种原因您想要重置存储的服务器凭据,可以通过特殊 URL 按需重新执行初始化步骤,但是,此重置功能受到保护,因此只有应用程序管理员可以发出该请求,而不是最终用户。