我正在尝试使用ASPSnippets.GoogleAP.dll
和Google.Apis.Drive.v3.dll
从Google云端硬盘下载文件。但面临一些挑战。正在下载文件,但它存在于某些类型的奇怪HTML内容中。
我正在使用以下代码下载它:
GoogleConnect.ClientId = "xxxx.apps.googleusercontent.com";
GoogleConnect.ClientSecret = "xxxxxx";
GoogleConnect.RedirectUri = Request.Url.AbsoluteUri.Split('?')[0];
GoogleConnect.API = EnumAPI.Drive;
if (!string.IsNullOrEmpty(Request.QueryString["code"]))
{
string code = Request.QueryString["code"];
string json = GoogleConnect.Fetch("me", code);
GoogleDriveFiles files = new JavaScriptSerializer().Deserialize<GoogleDriveFiles>(json);
//Remove the deleted files.
var driveService = new DriveService();
Label1.Text = theHiddenField1.Value;
WebClient wb = new WebClient();
wb.DownloadFile(theHiddenField1.Value, "C://" + fileName);
}
else if (Request.QueryString["error"] == "access_denied")
{
ClientScript.RegisterClientScriptBlock(this.GetType(), "alert", "alert('Access denied.')", true);
}
else
{
GoogleConnect.Authorize("https://www.googleapis.com/auth/drive.readonly");
}
有人可以帮我解决这个问题吗?
答案 0 :(得分:0)
我不是C#开发人员,但如果您使用的是Google.Apis.Drive.v3
,那么这是Google Drive API的最新版本。我没有看到您的代码中有任何部分引用Google APIs Client Library for .NET,但这是与现代Google API交流的推荐方式。
如果您已安装它,请查看C# quickstart sample for the Drive API。然后查看文档中Download Files page上的C#/ .net示例,它应该引导您找到一个可行的解决方案。在您的其他评论中,您询问了如何传递身份验证令牌,因此如果您使用的是客户端库,则不必担心该部分。在该文档页面上,您将找到常规文件下载的示例,另一个用于导出Google文档(文档,表格,幻灯片)。
最后,有关其他参考,请参阅.NET reference docs for the Drive API和.NET Google APIs Client Library developers guide。