Google云端硬盘:获取(现有)文件的内容会导致404响应错误

时间:2012-09-28 18:00:55

标签: c# asp.net httpresponse google-drive-api

我的驱动器中有一个具有“公共”可见性的文件。我使用驱动程序api的示例页面中的代码(如下所示)来检索文件内容。文件元数据显示我的文件在那里。但hhtp响应告诉我它不存在(远程服务器返回错误:(404)Not Found。)。(哦,顺便说一下,文件是由具有“所有者”权限的用户上传的,现在我试图检索具有“作者”权限的不同用户的相同文件。)任何想法?

    public static System.IO.Stream DownloadFile(
     IAuthenticator authenticator, Google.Apis.Drive.v2.Data.File file)
    {
        if (!String.IsNullOrEmpty(file.DownloadUrl))
        {
            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(new Uri(file.DownloadUrl));
                authenticator.ApplyAuthenticationToRequest(request);
                HttpWebResponse response = (HttpWebResponse)request.GetResponse();
                if (response.StatusCode == HttpStatusCode.OK)
                {
                    return response.GetResponseStream();
                }
                else
                {
                    Console.WriteLine(
                        "An error occurred: " + response.StatusDescription);
                    return null;
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: " + e.Message);
                return null;
            }
        }
        else
        {
            // The file doesn't have any content stored on Drive.
            return null;
        }
    }

1 个答案:

答案 0 :(得分:0)

对于此类问题,请使用https://developers.google.com/drive/v2/reference/files/get#try-it

上的表单进行尝试

通过这种方式,您可以确定代码或文件是否存在问题。