.NET Google api 1.7 beta使用刷新令牌进行身份验证

Dan*_*n G 8 c# google-drive-api google-oauth google-api-dotnet-client

我一直在关注Oauth .Net Google Apis,以便通过OAuth进行身份验证并使用Google驱动Apis.

具体来说,我想使用我已经存储的刷新令牌,以便使用它来实例化GoogleDrive服务.

我找到了像https://code.google.com/p/google-api-dotnet-client/source/browse/Tasks.SimpleOAuth2/Program.cs?repo=samples这样的示例

这似乎使用"GoogleWebAuthorizationBroker.AuthorizeAsync",但我不确定如何使用刷新令牌而不是客户端的秘密,你似乎在这个例子中提供它.

pel*_*yal 17

如果我理解正确,您就会问如何根据现有的刷新令牌创建新的Google服务.

因此,您可以执行以下操作:

var token = new TokenResponse { RefreshToken = "YOUR_REFRESH_TOKEN_HERE" }; 
var credentials = new UserCredential(new GoogleAuthorizationCodeFlow(
    new GoogleAuthorizationCodeFlow.Initializer 
    {
      ClientSecrets = [your_client_secrets_here]
    }), "user", token);
Run Code Online (Sandbox Code Playgroud)

然后,您可以将凭据传递给服务的初始化程序.

通过执行上述操作,GoogleAuthorizationCodeFlow将根据您刷新令牌和客户端机密获取新的访问令牌.

请注意,您必须在此处拥有客户机密,否则您将无法获得访问令牌.

  • 你如何获得“YOUR_REFRESH_TOKEN_HERE”? (2认同)