Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine “如何排除故障”;值不能为null。参数名称:baseUri";_Google App Engine_Google Drive Api_Google Cloud Platform_Google Api Dotnet Client - Fatal编程技术网

Google app engine “如何排除故障”;值不能为null。参数名称:baseUri";

Google app engine “如何排除故障”;值不能为null。参数名称:baseUri";,google-app-engine,google-drive-api,google-cloud-platform,google-api-dotnet-client,Google App Engine,Google Drive Api,Google Cloud Platform,Google Api Dotnet Client,我需要帮助诊断这个错误。其他人在各种平台(比如youtube)上都能找到,但对大多数平台来说似乎都没有解决。对于那些报告成功的人来说,他们的解决方案对我来说并不奏效 我正在使用Google Drive API,在尝试上载到Google Drive时收到此错误 我的代码在很长一段时间内运行良好;突然,我犯了这个错误。经过研究,我确定我还没有达到配额,并且这些API已启用: Debuglet控制器API 驱动程序接口 谷歌云数据流API 谷歌云数据处理API 谷歌云部署管理器API 谷歌云部署管理

我需要帮助诊断这个错误。其他人在各种平台(比如youtube)上都能找到,但对大多数平台来说似乎都没有解决。对于那些报告成功的人来说,他们的解决方案对我来说并不奏效

我正在使用Google Drive API,在尝试上载到Google Drive时收到此错误

我的代码在很长一段时间内运行良好;突然,我犯了这个错误。经过研究,我确定我还没有达到配额,并且这些API已启用:

  • Debuglet控制器API
  • 驱动程序接口
  • 谷歌云数据流API
  • 谷歌云数据处理API
  • 谷歌云部署管理器API
  • 谷歌云部署管理器V2 API
  • 谷歌云存储
  • 谷歌云存储JSON API
  • 谷歌计算引擎自动缩放API
  • Google计算引擎实例组管理器API
  • Google计算引擎实例组更新程序API
  • 谷歌计算引擎实例组API
  • 谷歌容器引擎API
  • 谷歌机器学习API
这是我的密码:

        string fileName = @"c:\temp\MyPicture.jpg";
        string fileTitle = @"TEST-DELETE-ME.jpg";
        string fileDescription = @"Test file name";
        string fileType = "image/jpeg";
        string parentId = "zmzmzmzmzmzmzmzmzmz";

        Google.Apis.Drive.v2.DriveService service = (Google.Apis.Drive.v2.DriveService)Service;

        Google.Apis.Drive.v2.Data.File body = new Google.Apis.Drive.v2.Data.File();
        body.Title = fileTitle;
        body.Description = fileDescription;
        body.MimeType = fileType;
        body.Parents = new List<ParentReference> { new ParentReference() { Id = parentId } };

        byte[] byteArray = System.IO.File.ReadAllBytes(fileName);

        System.IO.MemoryStream stream = new System.IO.MemoryStream(byteArray);

        Google.Apis.Drive.v2.FilesResource.InsertMediaUpload request = service.Files.Insert(body, stream, fileType);

        Google.Apis.Upload.IUploadProgress progress = request.Upload();

        Google.Apis.Drive.v2.Data.File file = request.ResponseBody;

        if (file == null)
        {
            //Here we are, and we shouldn't be!
            //progress.exception.message = 
            //
            //Value cannot be null.
            //Parameter name: baseUri
        }
stringfilename=@“c:\temp\MyPicture.jpg”;
字符串fileTitle=@“TEST-DELETE-ME.jpg”;
字符串fileDescription=@“测试文件名”;
字符串fileType=“image/jpeg”;
字符串parentId=“zmzmzmz”;
Google.api.Drive.v2.DriveService=(Google.api.Drive.v2.DriveService)服务;
Google.api.Drive.v2.Data.File body=新的Google.api.Drive.v2.Data.File();
body.Title=文件标题;
body.Description=文件描述;
body.MimeType=文件类型;
body.Parents=new List{new ParentReference(){Id=parentId};
byte[]byteArray=System.IO.File.ReadAllBytes(文件名);
System.IO.MemoryStream stream=新的System.IO.MemoryStream(byteArray);
Google.api.Drive.v2.filesrource.InsertMediaUpload请求=service.Files.Insert(正文、流、文件类型);
Google.api.Upload.IUploadProgress progress=request.Upload();
Google.api.Drive.v2.Data.File File=request.ResponseBody;
if(file==null)
{
//我们到了,我们不该到!
//progress.exception.message=
//
//值不能为null。
//参数名称:baseUri
}
当我查看驱动器API设置时,以下是配置:

  • 无图标(用于设置256x265、128x128、64x64、32x32和16x16的框均为空)

  • 应用程序名称和长短描述均为空且可选

  • 对于驱动器集成,所有框和复选框均为空或未选中。具体而言:

  • “自动显示OAuth 2.0同意…”未选中

  • “打开URL”为空

  • 默认和辅助MIME类型以及文件扩展名为空

  • “允许用户创建新文档…”未选中

  • “允许用户打开多个文件…”未选中

  • “允许用户打开可转换的文件…”未选中

  • 未选中“此应用程序可以在移动浏览器中启动并正常工作”

用户不使用Google Drive UI通过我的应用程序创建文档,也不打算在移动浏览器上使用。我的应用程序只将PDF文件上载到用户帐户

我的应用程序已经运行了几个月,没有任何问题,现在突然发现这个错误

我已尝试禁用所有API,然后重新启用它们。没有骰子

我已尝试使用新的客户端id和密码。没有骰子

我尝试使用一个新的gmail地址,创建一个新的客户id和密码。没有骰子


我不可能是世界上唯一有这个问题的人。有人能帮我解决这个问题吗?

基本问题类似于授权问题或请求中的其他错误。然而,.NET客户机中有一个错误掩盖了错误


请参见

我也在使用此库,但用于谷歌云存储。我遇到了两种(到目前为止)异常情况,它们导致了这个不明确的错误消息。如果客户机没有正确地进行身份验证,并且我试图上传一个blob,那么我会得到这个“baseUri”异常。如果我试图上传到一个不存在的bucket,我会得到这个“baseUri”异常。很可能您正在为google drive执行类似的操作(不确定drive的等效情况,但肯定存在)。但是,我确实在尝试检索Blob时收到了正确的错误消息…感谢Anj的反馈。在我的情况下,我的代码允许登录、浏览文件夹以及上载或下载文件。下载工作正常,上传失败。因此文件夹存在,身份验证工作正常。我应该提到的是,代码没有改变,尽管代码曾经工作过。这就是为什么我提供了我所做的细节;有人建议我的API权限配置不正确。添加了Google Cloud Platform标记,希望能够扩展与其他开发人员的联系。该错误看起来是由.NET客户端本身而不是驱动器API生成的。请包括完整的堆栈跟踪。感谢回复堆栈跟踪:在Microsoft.Runtime.CompilerServices.TaskAwaiter.ThrowForOnSuccess(任务任务)在Microsoft.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccess(任务任务)在Microsoft.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(任务任务)在c:\code\github\Google api dotnet client\Tools\Google.api.Release\1.9.2\default\Src\GoogleApis\api[Media]\Upload\resubleupload.cs:第460行中的Microsoft.Runtime.CompilerServices.ConfiguredTaskAwaitable
1.ConfiguredTaskAwaiter.GetResult(),我提供了上面的堆栈跟踪。