如何从 Windows 服务授权 Google Sheets API
Posted
技术标签:
【中文标题】如何从 Windows 服务授权 Google Sheets API【英文标题】:How to authorize the Google Sheets API from a Windows Service 【发布时间】:2017-05-16 06:45:18 【问题描述】:我按照this link 创建了一个使用 Google Sheets API 的 Windows 控制台应用程序,它运行良好。
但是,当我尝试构建一个 Windows 服务来做同样的事情时,它在授权时冻结,大概是因为网页没有弹出允许我对其进行授权(这对服务来说是有意义的)。
如何授权?链接说
如果失败,请从控制台复制 URL 并在浏览器中手动打开它
如果我知道网址是什么,那就太好了。
【问题讨论】:
您可能希望在文档中查看其他验证您的应用程序的方案 - Using OAuth 2.0 to Access Google APIs。就像使用服务帐户授权您的请求一样,没有任何弹出窗口来授权它。希望这会有所帮助。 【参考方案1】:不是一个明确的答案,但 OAuth 是为涉及用户的交互式场景而设计的。
对于服务,您应该在谷歌开发者控制台中创建服务帐户并为其创建私钥(https://developers.google.com/identity/protocols/OAuth2ServiceAccount)。
然后您必须更改代码以使用从第一步创建的私钥派生的 JWT 身份验证令牌。
有人已经回答了如何用 C# 做到这一点:Is there a JSON Web Token (JWT) example in C#?
【讨论】:
以上是关于如何从 Windows 服务授权 Google Sheets API的主要内容,如果未能解决你的问题,请参考以下文章
使用服务帐户时如何修复 google ads api 未经授权的错误
使用 Google Play Developer API 进行服务器端授权?
向 Google 进行身份验证时,从 Spring OAuth2 授权服务器发出 JWT 令牌