私が構築しているGoogleドライブとやり取りすることになっているasp.net MVCアプリケーションがあります。以下に示すように、UI から fileId を受け取り、それをコントローラーに渡します。
[HttpPost]
public void DownloadFile(string fileId)
{
FileService fileService = new FileService();
DriveService driveService = new DriveService();
fileService.GetFileMetaDataInfo(driveService, fileId);
Console.WriteLine(fileId);
}
public class FileService
{
public void GetFileMetaDataInfo(DriveService service, String fileId)
{
try
{
Google.Apis.Drive.v2.Data.File file = service.Files.Get(fileId).Fetch();
Console.WriteLine("Title: " + file.Title);
Console.WriteLine("Description: " + file.Description);
Console.WriteLine("MIME type: " + file.MimeType);
}
catch (Exception e)
{
Console.WriteLine("An error occurred: " + e.Message);
}
}
}
次にコントローラーは、上に示した FileService クラスに制御を渡します。今のところ基本的なレベルでは、Google ドライブからファイルの MetaDataInfo を取得できるかどうかを確認したいだけです。このコードは、ファイルの詳細を取得しようとした時点で、try ブロックの 1 行目で例外をスローします。これは認証に関係していると思われます。ここで助けが必要です。Drive API のドキュメントを確認しましたが、外部 Web アプリケーションから Google ドライブへの認証方法がよくわかりません。誰かが私のためにこれを明確にすることができますか、または例を示してもらえますか?