Загрузите успешно, чтобы получить photoId, но не можете получить загруженное изображение из этого photoId
Я следую инструкции, чтобы загрузить ссылку на фото.
Я получаю фото после звонка.
Но я не могу получить изображение по телефону:
curl --request GET \
--url 'streetviewpublish.googleapis.com/v1/photos?key=YOUR_API_KEY' \
--header 'authorization: Bearer YOUR_ACCESS_TOKEN'
или позвоните по телефону:
curl --request GET \
--url 'streetviewpublish.googleapis.com/v1/photo/PHOTO_ID?key=YOUR_API_KEY' \
--header 'authorization: Bearer YOUR_ACCESS_TOKEN'
Я вижу, что в уроке говорится, что если вы получили photoId, значит загрузка прошла успешно. Как я могу убедиться, что моя фотография успешно загружена?
обновление: основываясь на мнении Mr.Rebot, я добавляю --verbose, чтобы увидеть детали ответа. Но я не могу найти ни одной ошибки из ответа. Я предполагаю, что основная причина может быть связана с загрузкой байтов фотографий на URL загрузки. Я проверяю детали ответа. Это не показывает сообщение типа "* загрузка полностью отправлена: 632 из 632 байтов" в "Загрузить метаданные фотоответа". Но я не знаю, как это решить.
Загрузка фото байтов в ответ URL загрузки показана ниже:
* Trying 216.58.200.42...
* TCP_NODELAY set
* Connected to streetviewpublish.googleapis.com (216.58.200.42) port 443 (#0)
* TLS 1.2 connection using TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
* Server certificate: *.googleapis.com
* Server certificate: Google Internet Authority G2
* Server certificate: GeoTrust Global CA
> POST /media/user/114009162009986408485/photo/3946916238102603576 HTTP/1.1
> Host: streetviewpublish.googleapis.com
> User-Agent: curl/7.51.0
> Accept: */*
> Authorization: Bearer ya29.GlvKBHgR75-11mkyh-7Yy0YHSnY2at7ceBKkmcz6Kmt0axDqRD7iTfqp8_nfBZgQrU25V77WKk3gCBZ6w6ce9TBz26mLusLzZqjX7qUGi306Z_PhkPTSqfXZwte2
> Content-Length: 2684889
> Expect: 100-continue
>
< HTTP/1.1 100 Continue
* We are completely uploaded and fine
< HTTP/1.1 200 OK
< X-GUploader-UploadID: AEnB2Uq1RvuwmbMZizf-MLlPcB8hJC2NBgpaEMR-K_AomU7nIQ7DTkv94Ekij3_zPNyPK7tTypkYywHualC_EnvzCoM2OuosuckDFF8OtoLT97CecFwnYk4
< Content-Length: 0
< Date: Mon, 18 Sep 2017 06:01:25 GMT
< Server: UploadServer
< Content-Type: text/html; charset=UTF-8
< Alt-Svc: quic=":443"; ma=2592000; v="39,38,37,35"
<
* Curl_http_done: called premature == 0
* Connection #0 to host streetviewpublish.googleapis.com left intact
Загрузка метаданных фотоответа показана ниже:
Note: Unnecessary use of -X or --request, POST is already inferred.
* Trying 216.58.200.234...
* TCP_NODELAY set
* Connected to streetviewpublish.googleapis.com (216.58.200.234) port 443 (#0)
* TLS 1.2 connection using TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
* Server certificate: *.googleapis.com
* Server certificate: Google Internet Authority G2
* Server certificate: GeoTrust Global CA
> POST /v1/photo?key=AIzaSyBINbdfV0eqE2fdc_ywJzL-oCa7fs_qNrQ HTTP/1.1
> Host: streetviewpublish.googleapis.com
> User-Agent: curl/7.51.0
> Accept: */*
> Authorization: Bearer ya29.GlvKBHgR75-11mkyh-7Yy0YHSnY2at7ceBKkmcz6Kmt0axDqRD7iTfqp8_nfBZgQrU25V77WKk3gCBZ6w6ce9TBz26mLusLzZqjX7qUGi306Z_PhkPTSqfXZwte2
> Content-Type: application/json
> Content-Length: 632
>
* upload completely sent off: 632 out of 632 bytes
< HTTP/1.1 200 OK
< Content-Type: application/json; charset=UTF-8
< Vary: X-Origin
< Vary: Referer
< Date: Mon, 18 Sep 2017 05:47:24 GMT
< Server: ESF
< Cache-Control: private
< X-XSS-Protection: 1; mode=block
< X-Frame-Options: SAMEORIGIN
< X-Content-Type-Options: nosniff
< Alt-Svc: quic=":443"; ma=2592000; v="39,38,37,35"
< Accept-Ranges: none
< Vary: Origin,Accept-Encoding
< Transfer-Encoding: chunked
<
{
"photoId": {
"id": "CAoSLEFGMVFpcE9Zc0I4U25pWkcwaUFRWk11ZXZ3d3VzVkRaUTFxZlIyWks5VnE2"
}
}
* Curl_http_done: called premature == 0
* Connection #0 to host streetviewpublish.googleapis.com left intact
2 ответа
Наконец-то я обнаружил первопричину проблемы. Я скучаю по методу XMP на моей фотографии. Google не проверит и не ответит на ошибку для неправильной мета-фотографии XMP. Поэтому убедитесь, что ваша фотография имеет правильную методу XMP - единственный способ исправить это.
Вы можете попробовать добавить --verbose
в конце вашего запроса при вызове шага 2 загрузки фотографии (если вы используете curl). Также вы можете также проверить код ответа, если он равен 200, то все в порядке. Наконец, убедитесь, что вы загружаете правильное изображение 360. Следуйте за этим комментарием, который говорит о метаданных фотосферы и exiftool