我将文件上传到谷歌驱动器发现这里的教程如下:ArgumentNullException:“基本URI”为空,将文件上载到谷歌驱动器时
https://developers.google.com/drive/web/quickstart/quickstart-cs
我已经创建了一个编号和密钥我主要帐户,并使用该信息,我可以上传到我的两个帐户(从%AppData%/ Google ...删除验证令牌)。
然而,客户给我们他的谷歌帐户,所以我们可以尝试一切都会为他工作,它不适合他的帐户。我们可以通过Web界面上传和下载文件,而不会有任何问题,但它不适用于我的应用程序。
我注意到的一个区别是我的客户的帐户没有谷歌电子邮件地址;它是[email protected],所以我用我的工作电子邮件地址创建了一个新的Google帐户,并对其进行了测试,并且在登录到Google云端硬盘后完美无误地工作。
问题就出现在最后几行:
FilesResource.InsertMediaUpload request = service.Files.Insert(body, stream, "text/plain");
request.Upload();
File file = request.ResponseBody;
Console.WriteLine("File id: " + file.Id);
在这一点上,request.ResponseBody是空,因此,如果我只是运行的代码,file.Id抛出一个ArgumentNullException。如果我跳入调试模式并检查环境,request.Progress(来自基类的私有属性)将其Status字段设置为“Failed”,并且Exception字段为ArgumentNullException,并且消息“参数不能为null参数名称:baseUri。“。
关于什么可能是错误的任何想法?
更新: 的代码来创建服务对象:
// Create the service.
var service = new DriveService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "Drive API Sample",
});
你可以发布你如何建立你的'service'对象? – 2014-09-25 16:43:50
@TejasSharma当然,但它只是从教程中粘贴而没有更改。 – raven 2014-09-25 16:48:01
你解决了这个问题吗? – 2014-12-03 09:18:36