GoogleWebAuthorizationBroker.AuthorizeAsync
認証に使用するのに問題があり、ここで私が行った他のいくつかの質問を見てGoogleAuthorizationCodeFlow
. 問題は、更新トークンを取得するために必要なこのメソッドを使用することです。
この回答に記載されている手順に従ってなんとかそれを行うことができましたが、c# のコード内からこの手順を複製する方法が見つかりませんでした。
Google API を使用して更新トークンとアクセス トークンを取得する方法はありますか?
これは私がそれを使用する必要がある場所です:
ClientSecrets clientSecrets = new ClientSecrets();
clientSecrets.ClientId = id;
clientSecrets.ClientSecret = secret;
String scope = StorageService.Scope.CloudPlatform;
var token = new TokenResponse { RefreshToken = "???" };
var credentials = new UserCredential(new GoogleAuthorizationCodeFlow(
new GoogleAuthorizationCodeFlow.Initializer
{
ClientSecrets = clientSecrets
}),
"user",
token);
storageService = new StorageService(new BaseClientService.Initializer()
{
HttpClientInitializer = credentials,
ApplicationName = app,
});