我一直在关注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",但我不确定如何使用刷新令牌而不是客户端的秘密,你似乎在这个例子中提供它.
如果我理解正确,您就会问如何根据现有的刷新令牌创建新的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);
然后,您可以将凭据传递给服务的初始化程序.
通过执行上述操作,GoogleAuthorizationCodeFlow将根据您刷新令牌和客户端机密获取新的访问令牌.
请注意,您必须在此处拥有客户机密,否则您将无法获得访问令牌.