我在 Python 中使用 photo.update 请求连接全景图(360 全景图像)。我只能将一个全景图连接到另一个全景图,但我想将一个全景图连接到多个全景图。我没有得到成功的结果。
我已经使用 Python 发送了以下 photoUpdate 请求:
update_photo_url = 'https://streetviewpublish.googleapis.com/v1/photo/{}?key={}&updateMask=connections'.format("pano_1","AIzdesdfyxscvvvvvvvvvvvvvvv") headers = {"Authorization": "Bearer {}".format("ya29.Glx6BO91jWbjzLQKYPvP16fhT-jyOEnIdnoRcZcU9uYCqzwH3Dkuf-qf_kzUc2ykYOyVTZCfaGjOEAScsJK7WgS4NE9gfS6bSobWDIMdfpfY7SPzRMmxi4kfTrmsRQ"), "Content-Length": "0", "Content-Type": "application/json"} update_body = { [ { "photo": { "photoId": { "id": "pano_1" }, "connections": { "target": { "id": "pano_2" }, "target": { "id": "pano_3" } }, } } ] } update_response = requests.put(update_photo_url,headers=headers,json=update_body) update_response.text
错误:
{ "error": { "code": 400, "message": "Invalid JSON payload received. Unknown name \"\": Root element must be a message.", "status": "INVALID_ARGUMENT", "details": [ { "@type": "type.googleapis.com/google.rpc.BadRequest", "fieldViolations": [ { "description": "Invalid JSON payload received. Unknown name \"\": Root element must be a message." } ] } ] } }
有人知道如何从源全景图连接多个 360 全景图吗?如果有人能阐明这种可能性,那就太好了。提前谢谢。
我看到您的请求网址是:
https://streetviewpublish.googleapis.com/v1/photo/{}?key={}&updateMask=connections'.format("pano_1","AIzdesdfyxscvvvvvvvvvvvvvvv")
为了连接多张照片,需要使用batchUpdate方法。
batchUpdate
HTTP 请求
POST https://streetviewpublish.googleapis.com/v1/photos:batchUpdate?
以下是使用 curl 的示例请求:
curl --request POST \ --url 'https://streetviewpublish.googleapis.com/v1/photos:batchUpdate' \ --header 'Authorization: Bearer YOUR_ACCESS_TOKEN' \ --header 'Content-Type: application/json' \ --data '{ "updatePhotoRequests": [ { "updateMask": "connections", "photo": { "photoId": { "id": "pano_1" }, "connections": [ { "target": { "id": "pano_2" } }, { "target": { "id": "pano_3" } } ] } } ] }'
更新: 如果我有四个全景图,并且我想连接 pano_1 -> pano_2、pano_3 和 pano_3 -> pano_4,那么 json 格式会是什么?
您应该将 pano_4 作为与 pano_3 连接的目标。
{ "updatePhotoRequests": [ { "updateMask": "connections", "photo": { "photoId": { "id": "pano_3" }, "connections": [ { "target": { "id": "pano_4" } }, ] } } ] }
请注意,应该id是photoId上传的照片。
id
photoId