Google API OAuth 2.0 服务帐户 C# 第一次与每天使用

Google API OAuth 2.0 Service Account C# First time vs every day use

Google API OAuth 2.0 服务帐户 C#(驱动器 api)

我只针对一个服务帐户。

我正在寻找服务帐户的身份验证。

下面这个例子: Google example

据我所知,令牌是永久性的,不像其他身份验证类型那样只有 1 小时。但是代码中没有提到令牌。 我必须存储这个令牌吗?还是每次我想使用证书创建服务时都必须请求它?

每次需要的时候"service"创建代码和描述的一样吗。或者这只是我第一次请求访问此帐户?

Google 提供了一些用于验证用户的选项。其中之一是 Service Accounts,它在验证用户身份时在您的应用和 Google 服务器之间提供更安全的通信。

通常,如果您在服务器端使用 Google oAuth 库,共享密钥用于验证用户并获取令牌,其中包括 access_tokentoke typerefresh_tokenexpire time。在这种情况下,用户应该给你权限。

但是,当您使用服务帐户时,用户不参与,服务帐户用于身份验证。在这种情况下,第一次,您应该使用Service Account获取令牌并将其存储在您的DB中。这样,您下次发送 API 呼叫时就可以使用它。当然,出于安全原因,此访问令牌将过期。在这种情况下,您将在第一次获得令牌时使用 refresh_token 而 returns 。使用刷新令牌,您将能够获得新的 access token.

正如我评论的那样,文章 "Using Google Drive API with C#" part 1 and part 2 展示了如何存储刷新令牌并使用它以应用程序的名义进行身份验证。 它还警告有关 服务帐户 的限制,在许多情况下 "useless" 如您所说。
Here's IDataStore 的另一个实现。

希望对您有所帮助! =)