私はGoogle.Apis.Drive.v3をC#で使用しています。 このコードでは、ユーザーのドライブへのアクセスをリクエストしています。GoogleドライブのAPI、既に認証済みかどうかを知る方法
UserCredential credential;
try
{
using (var stream =
new System.IO.FileStream ("client_secret.json", System.IO.FileMode.Open, System.IO.FileAccess.Read))
{
string credPath = System.Environment.GetFolderPath(
System.Environment.SpecialFolder.Personal);
credPath = System.IO.Path.Combine (credPath, ".credentials/drive-hourcounter.json");
credential = GoogleWebAuthorizationBroker.AuthorizeAsync (
GoogleClientSecrets.Load (stream).Secrets,
Scopes,
"user",
CancellationToken.None,
new FileDataStore (credPath, true)).Result;
}
}
私の質問は、ユーザーが既に私にアクセス権を与えているかどうかを知ることです。 今、私はこのコードを常に実行しています。例外がスローされなければ、私はアクセス権があることを知っています。より良い解決策はありますか?おそらく、 ".credentials/drive-hourcounter.json"ファイルの存在をテストしていますか?
GoogleWebAuthorizationBroker.AuthorizeAsync(に存在しているかどうかをチェックするためには)アクセスがユーザーによって取り消された場合にも渡されますが、サービスのAPIを呼び出すときに例外がスローされます – KevinBui