1

私は、pythonでpanos(360枚のパノラマ画像)接続用のphoto.updateリクエストを使用しています。 1つのパノラマを別のパノラマに接続するだけですが、1つのパノラマを複数のパノラマに接続したいとします。私は成功した結果を得ていない。GoogleストリートビューパブリッシュAPIを使用して1つのパノラマを複数のパノラマに接続するにはどうすればよいですか?

私は、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枚のパノラマを接続する方法、について、誰もが知っていますか?誰かがそれの可能性を明確にすることができれば本当に素晴らしいだろう。事前に感謝している。私はあなたの要求のURLであることを見てきた

答えて

5

https://streetviewpublish.googleapis.com/v1/photo/{}?key={}&updateMask=connections'.format("pano_1","AIzdesdfyxscvvvvvvvvvvvvvvv") 

複数の写真を接続するためには、batchUpdateメソッドを使用する必要があります。

POST https://streetviewpublish.googleapis.com/v1/photos:batchUpdate? 

HTTPリクエストは、ここにカールを使用したサンプルリクエストです:

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" 
          } 
          } 
         ] 
         } 
        } 
       ] 
       }' 

更新:私は4枚のパノラマを持っていると私はpano_1を接続したい場合は - > pano_2、pano_3 pano_3 - > pano_4の場合、json形式は何ですか?

pano_3に接続するには、pano_4をターゲットとして設定する必要があります。

{ 
    "updatePhotoRequests": [ 
    { 
     "updateMask": "connections", 
     "photo": { 
     "photoId": { 
      "id": "pano_3" 
     }, 
     "connections": [ 
      { 
      "target": { 
       "id": "pano_4" 
      } 
      }, 
     ] 
     } 
    } 
    ] 
} 

ちょうどidは、アップロードされた写真のphotoIdなければならないことに注意します。

+0

Hey @abielita、私は4つのパノラマを持っていて、pano_1 - > pano_2、pano_3、およびpano_3 - > pano_4を接続したい場合、json形式は何ですか? –

+0

最新の回答をご覧ください。 :) – abielita

+0

json形式は正しいですか?このリンクを確認してください。https://jsonblob.com/da14ee1c-60ae-11e7-ae4c-7504bfba11cf –

関連する問題