如何创建已经具有 Google 驱动器 API 的访问代码和令牌的凭据对象
How to create credential object with already having access code and token for Google Drive API
我想对 sheet 和 google 驱动器 api 使用 相同的 OAuth 代码和令牌,而无需重定向到页面 2 次sheet 开车。
以下是使用oauth 2生成访问码和token的代码
string SCOPE = "https://spreadsheets.google.com/feeds https://docs.google.com/feeds";
OAuth2Parameters parameters = new OAuth2Parameters();
parameters.ClientId = CLIENT_ID;
parameters.ClientSecret = CLIENT_SECRET;
parameters.RedirectUri = REDIRECT_URI;
parameters.Scope = SCOPE;
string authorizationUrl = OAuthUtil.CreateOAuth2AuthorizationUrl(parameters);
OAuthUtil.GetAccessToken(parameters);
string accessToken = parameters.AccessToken;
如 asp.net mvc 是通过 google sheet API.
的重定向生成的
我也想使用 google 驱动器 API 来获得相同的令牌。
我如何为 google 驱动器 API 创建凭据对象 以便使用它。按照 代码打开另一个 WINDOW 并向 WINDOW 发送代码。
var credential = GoogleWebAuthorizationBroker.AuthorizeAsync(new ClientSecrets
{
ClientId = clientId,
ClientSecret = clientSecret
}, scopes, "skhan", CancellationToken.None, new FileDataStore("Drive.Auth.Store")).Result;
您可以使用此处提到的方法:.NET Google api 1.7 beta authenticating with refresh token,只需在令牌响应上设置您的访问和引用令牌即可。
您可以使用下面的代码,假设您已经有 Access/Refresh 个令牌:
var flow = new GoogleAuthorizationCodeFlow(new GoogleAuthorizationCodeFlow.Initializer
{
ClientSecrets = new ClientSecrets
{
ClientId = ClientId,
ClientSecret = ClientSecret
},
Scopes = new[] { DriveService.Scope.Drive }
});
var credential = new UserCredential(_flow, UserIdentifier, new TokenResponse
{
AccessToken = AccessToken,
RefreshToken = RefreshToken
});
var service = new DriveService(new BaseClientService.Initializer
{
ApplicationName = "MyApp",
HttpClientInitializer = credential,
DefaultExponentialBackOffPolicy = ExponentialBackOffPolicy.Exception | ExponentialBackOffPolicy.UnsuccessfulResponse503
});
我想对 sheet 和 google 驱动器 api 使用 相同的 OAuth 代码和令牌,而无需重定向到页面 2 次sheet 开车。
以下是使用oauth 2生成访问码和token的代码
string SCOPE = "https://spreadsheets.google.com/feeds https://docs.google.com/feeds";
OAuth2Parameters parameters = new OAuth2Parameters();
parameters.ClientId = CLIENT_ID;
parameters.ClientSecret = CLIENT_SECRET;
parameters.RedirectUri = REDIRECT_URI;
parameters.Scope = SCOPE;
string authorizationUrl = OAuthUtil.CreateOAuth2AuthorizationUrl(parameters);
OAuthUtil.GetAccessToken(parameters);
string accessToken = parameters.AccessToken;
如 asp.net mvc 是通过 google sheet API.
的重定向生成的我也想使用 google 驱动器 API 来获得相同的令牌。
我如何为 google 驱动器 API 创建凭据对象 以便使用它。按照 代码打开另一个 WINDOW 并向 WINDOW 发送代码。
var credential = GoogleWebAuthorizationBroker.AuthorizeAsync(new ClientSecrets
{
ClientId = clientId,
ClientSecret = clientSecret
}, scopes, "skhan", CancellationToken.None, new FileDataStore("Drive.Auth.Store")).Result;
您可以使用此处提到的方法:.NET Google api 1.7 beta authenticating with refresh token,只需在令牌响应上设置您的访问和引用令牌即可。
您可以使用下面的代码,假设您已经有 Access/Refresh 个令牌:
var flow = new GoogleAuthorizationCodeFlow(new GoogleAuthorizationCodeFlow.Initializer
{
ClientSecrets = new ClientSecrets
{
ClientId = ClientId,
ClientSecret = ClientSecret
},
Scopes = new[] { DriveService.Scope.Drive }
});
var credential = new UserCredential(_flow, UserIdentifier, new TokenResponse
{
AccessToken = AccessToken,
RefreshToken = RefreshToken
});
var service = new DriveService(new BaseClientService.Initializer
{
ApplicationName = "MyApp",
HttpClientInitializer = credential,
DefaultExponentialBackOffPolicy = ExponentialBackOffPolicy.Exception | ExponentialBackOffPolicy.UnsuccessfulResponse503
});