Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.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
Java 使用“upload_id”进行身份验证,可从Android客户端重新上传到地面军事系统_Java_Android_Google Cloud Storage - Fatal编程技术网

Java 使用“upload_id”进行身份验证,可从Android客户端重新上传到地面军事系统

Java 使用“upload_id”进行身份验证,可从Android客户端重新上传到地面军事系统,java,android,google-cloud-storage,Java,Android,Google Cloud Storage,这是上的地面军事系统访问控制文档,它与我的用例完全匹配(可恢复上传场景): 注意:如果您的用户仅将资源上载(写入)到 访问控制桶,您可以使用可恢复上传 谷歌云存储功能,避免签署URL或 需要一个谷歌帐户。在可恢复上传场景中,您的 (服务器端)代码验证并启动到谷歌的上传 没有实际上传任何数据的云存储。启蒙运动 请求返回上载ID,然后可以在客户端中使用该ID 请求上传数据。客户端请求不需要 已签名,因为上载ID实际上充当身份验证 代币如果选择此路径,请确保通过网络传输上载ID HTTPS 我有一个G

这是上的地面军事系统访问控制文档,它与我的用例完全匹配(可恢复上传场景):

注意:如果您的用户仅将资源上载(写入)到 访问控制桶,您可以使用可恢复上传 谷歌云存储功能,避免签署URL或 需要一个谷歌帐户。在可恢复上传场景中,您的 (服务器端)代码验证并启动到谷歌的上传 没有实际上传任何数据的云存储。启蒙运动 请求返回上载ID,然后可以在客户端中使用该ID 请求上传数据。客户端请求不需要 已签名,因为上载ID实际上充当身份验证 代币如果选择此路径,请确保通过网络传输上载ID HTTPS

我有一个GAE实例,它成功地进行了身份验证,并启动了到GCS的可恢复上传。正如预期的那样,GCS将向我的GAE服务器返回一个响应:

HTTP/1.1 200 OK
Location: https://www.googleapis.com/upload/storage/v1/b/<my-apps-default-bucket>/o?uploadType=resumable&name=<my-file-name>&upload_id=xa298sd_sdlkj2
Content-Length: 0
日志显示地面军事系统对上述
PUT
的响应为:

{  
   "error":{  
      "errors":[  
         {  
            "domain":"global",
            "reason":"badRequest",
            "message":"Invalid Upload Request"
         }
      ],
      "code":400,
      "message":"Invalid Upload Request"
   }
}
我的问题是对于任何已经获得可恢复上传场景以用于此用例的人:(1)客户端要求服务器启动可恢复上传,(2)服务器启动上传并使用
upload\u id
获取
Location
,(3)服务器将这些传递给客户端,(4)客户端使用这些文件将文件直接上载到GCS,无需额外的身份验证(无签名URL)。有什么我遗漏的吗?根据文件,这种方法看起来应该是可行的。有没有人有可以帮助我的建议或经验

谢谢

{  
   "error":{  
      "errors":[  
         {  
            "domain":"global",
            "reason":"badRequest",
            "message":"Invalid Upload Request"
         }
      ],
      "code":400,
      "message":"Invalid Upload Request"
   }
}