0

我有一个 asp.net MVC 应用程序,它应该与我正在构建的 Google Drive 交互。我从我的 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 类。在基本层面上,我现在只想看看我是否能够从谷歌驱动器获取文件的 MetaDataInfo。此代码在尝试获取文件详细信息时抛出异常,即 try 块中的第一行。我怀疑这与身份验证有关。这是我需要帮助的地方,我查看了 Drive API 文档,但我不太清楚如何从我的外部 Web 应用程序向 Google Drive 进行身份验证。任何人都可以为我澄清这一点,或者可以给我一个例子吗?

4

1 回答 1

0

异常消息应该告诉您请求失败的原因,但我同意您的观点,问题在于身份验证,因为我看不到您在哪里设置凭据。

Google Drive SDK 文档包含一个完整的 ASP.NET MVC 应用程序,您可以将其用作参考:

https://developers.google.com/drive/examples/dotnet

于 2012-07-23T19:30:26.490 回答