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