Method: photos.batchUpdate
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Actualiza los metadatos de Photos
, como la pose, la asociación de lugares, las conexiones, etc. No se puede cambiar los píxeles de las fotos.
Ten en cuenta que, si photos.batchUpdate
falla, significa que faltan campos críticos o hay un error de autenticación. Incluso si photos.batchUpdate
se realiza correctamente, es posible que las fotos individuales del lote tengan errores. Estas fallas se especifican en cada PhotoResponse.status
de BatchUpdatePhotosResponse.results
. Consulta photo.update
para ver fallas específicas que pueden ocurrir por foto.
Solo se usan los campos especificados en el campo updateMask
. Si updateMask
no está presente, la actualización se aplica a todos los campos.
La cantidad de mensajes UpdatePhotoRequest
en una BatchUpdatePhotosRequest
no debe ser superior a 20.
Nota: Para actualizar Pose.altitude
, también se debe completar Pose.latLngPair
. De lo contrario, la solicitud fallará.
Solicitud HTTP
POST https://streetviewpublish.googleapis.com/v1/photos:batchUpdate
La URL usa la sintaxis de la transcodificación gRPC.
Cuerpo de la solicitud
El cuerpo de la solicitud contiene datos con la siguiente estructura:
Representación JSON |
{
"updatePhotoRequests": [
{
"photo": {
object (Photo )
},
"updateMask": string
}
]
} |
Campos |
updatePhotoRequests[] |
object
Obligatorio. Lista de UpdatePhotoRequests .
|
updatePhotoRequests[].photo |
object (Photo )
Obligatorio. Un objeto Photo que contiene los metadatos nuevos.
|
updatePhotoRequests[].updateMask |
string (FieldMask format)
Obligatorio. Máscara que identifica campos en los metadatos de la foto que se actualizarán. Si no están presentes, los metadatos Photo anteriores se reemplazan por completo con los nuevos metadatos Photo en esta solicitud. La actualización falla si se especifican campos no válidos. Se pueden especificar varios campos en una lista de valores delimitados con coma. Los siguientes campos son válidos:
pose.heading
pose.lat_lng_pair
pose.pitch
pose.roll
pose.level
pose.altitude
connections
places
Nota: Cuando updateMask contiene campos repetidos, se reemplaza todo el conjunto de valores repetidos por el contenido nuevo. Por ejemplo, si updateMask contiene connections y UpdatePhotoRequest.photo.connections está vacío, se quitarán todas las conexiones.
|
Cuerpo de la respuesta
Respuesta a la actualización por lotes de metadatos de uno o más Photos
.
Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:
Representación JSON |
{
"results": [
{
object (PhotoResponse )
}
]
} |
Campos |
results[] |
object (PhotoResponse )
Se actualizó la lista de resultados para cada Photo individual, en el mismo orden que la solicitud.
|
Alcances de autorización
Requiere el siguiente alcance de OAuth:
https://www.googleapis.com/auth/streetviewpublish
Para obtener más información, consulta la descripción general de OAuth 2.0.
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-07-25 (UTC)
[null,null,["Última actualización: 2025-07-25 (UTC)"],[[["\u003cp\u003eThe API updates metadata of photos, such as pose, connections, and place association, but does not change pixel data.\u003c/p\u003e\n"],["\u003cp\u003eRequests are submitted as a batch of up to 20 \u003ccode\u003eUpdatePhotoRequest\u003c/code\u003e messages specifying the photo and fields to update.\u003c/p\u003e\n"],["\u003cp\u003eIf the \u003ccode\u003eupdateMask\u003c/code\u003e is not provided, all fields of the Photo resource will be updated with the values provided in the request.\u003c/p\u003e\n"],["\u003cp\u003eWhen updating \u003ccode\u003ePose.altitude\u003c/code\u003e, \u003ccode\u003ePose.latLngPair\u003c/code\u003e must also be specified, or the request will fail.\u003c/p\u003e\n"],["\u003cp\u003eThis API requires the \u003ccode\u003ehttps://www.googleapis.com/auth/streetviewpublish\u003c/code\u003e OAuth scope for authorization.\u003c/p\u003e\n"]]],["This document details the process of updating photo metadata via the `photos:batchUpdate` method. It outlines that you can update fields like pose, place association, and connections, but not photo pixels. The request involves sending `UpdatePhotoRequests` within a `BatchUpdatePhotosRequest` to `POST https://streetviewpublish.googleapis.com/v1/photos:batchUpdate`. An `updateMask` specifies which fields to modify. The response contains a list of `PhotoResponse` objects, indicating the success or failure of each photo update. A maximum of 20 `UpdatePhotoRequest` messages are allowed.\n"],null,["# Method: photos.batchUpdate\n\n- [HTTP request](#body.HTTP_TEMPLATE)\n- [Request body](#body.request_body)\n - [JSON representation](#body.request_body.SCHEMA_REPRESENTATION)\n- [Response body](#body.response_body)\n - [JSON representation](#body.BatchUpdatePhotosResponse.SCHEMA_REPRESENTATION)\n- [Authorization scopes](#body.aspect)\n- [Try it!](#try-it)\n\nUpdates the metadata of [Photos](/streetview/publish/reference/rest/v1/photo#Photo), such as pose, place association, connections, etc. Changing the pixels of photos is not supported.\n\nNote that if [photos.batchUpdate](/streetview/publish/reference/rest/v1/photos/batchUpdate#google.streetview.publish.v1.StreetViewPublishService.BatchUpdatePhotos) fails, either critical fields are missing or there is an authentication error. Even if [photos.batchUpdate](/streetview/publish/reference/rest/v1/photos/batchUpdate#google.streetview.publish.v1.StreetViewPublishService.BatchUpdatePhotos) succeeds, individual photos in the batch may have failures. These failures are specified in each [PhotoResponse.status](/streetview/publish/reference/rest/v1/PhotoResponse#FIELDS.status) in [BatchUpdatePhotosResponse.results](/streetview/publish/reference/rest/v1/photos/batchUpdate#body.BatchUpdatePhotosResponse.FIELDS.results). See [photo.update](/streetview/publish/reference/rest/v1/photo/update#google.streetview.publish.v1.StreetViewPublishService.UpdatePhoto) for specific failures that can occur per photo.\n\nOnly the fields specified in `updateMask` field are used. If `updateMask` is not present, the update applies to all fields.\n\nThe number of `UpdatePhotoRequest` messages in a `BatchUpdatePhotosRequest` must not exceed 20.\n\u003e Note: To update [Pose.altitude](/streetview/publish/reference/rest/v1/photo#Pose.FIELDS.altitude), [Pose.latLngPair](/streetview/publish/reference/rest/v1/photo#Pose.FIELDS.lat_lng_pair) has to be filled as well. Otherwise, the request will fail.\n\n### HTTP request\n\n`POST https://streetviewpublish.googleapis.com/v1/photos:batchUpdate`\n\nThe URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.\n\n### Request body\n\nThe request body contains data with the following structure:\n\n| JSON representation |\n|------------------------------------------------------------------------------------------------------------------------------------------|\n| ``` { \"updatePhotoRequests\": [ { \"photo\": { object (/streetview/publish/reference/rest/v1/photo#Photo) }, \"updateMask\": string } ] } ``` |\n\n| Fields ||\n|------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `updatePhotoRequests[]` | `object` Required. List of `UpdatePhotoRequests`. |\n| `updatePhotoRequests[].photo` | `object (`[Photo](/streetview/publish/reference/rest/v1/photo#Photo)`)` Required. [Photo](/streetview/publish/reference/rest/v1/photo#Photo) object containing the new metadata. |\n| `updatePhotoRequests[].updateMask` | `string (`[FieldMask](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.FieldMask)` format)` Required. Mask that identifies fields on the photo metadata to update. If not present, the old [Photo](/streetview/publish/reference/rest/v1/photo#Photo) metadata is entirely replaced with the new [Photo](/streetview/publish/reference/rest/v1/photo#Photo) metadata in this request. The update fails if invalid fields are specified. Multiple fields can be specified in a comma-delimited list. The following fields are valid: - `pose.heading` - `pose.lat_lng_pair` - `pose.pitch` - `pose.roll` - `pose.level` - `pose.altitude` - `connections` - `places` \u003e Note: When `updateMask` contains repeated fields, the entire set of repeated values get replaced with the new contents. For example, if `updateMask` contains `connections` and `UpdatePhotoRequest.photo.connections` is empty, all connections are removed. |\n\n### Response body\n\nResponse to batch update of metadata of one or more [Photos](/streetview/publish/reference/rest/v1/photo#Photo).\n\nIf successful, the response body contains data with the following structure:\n\n| JSON representation |\n|---------------------------------------------------------------------------------------------|\n| ``` { \"results\": [ { object (/streetview/publish/reference/rest/v1/PhotoResponse) } ] } ``` |\n\n| Fields ||\n|-------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `results[]` | `object (`[PhotoResponse](/streetview/publish/reference/rest/v1/PhotoResponse)`)` List of results for each individual [Photo](/streetview/publish/reference/rest/v1/photo#Photo) updated, in the same order as the request. |\n\n### Authorization scopes\n\nRequires the following OAuth scope:\n\n- `https://www.googleapis.com/auth/streetviewpublish`\n\nFor more information, see the [OAuth 2.0 Overview](https://developers.google.com/identity/protocols/OAuth2)."]]