尝试使用街景发布服务客户端 - Python 更新照片元数据时出错



我已经在街景中上传了几张照片,我想使用 Python 客户端库来更新其元数据。在下面找到我的代码片段:

from google.proto.streetview.publish.v1 import resources_pb2
from google.streetview.publish.v1 import street_view_publish_service_client as client
from google.protobuf import field_mask_pb2
streetview_client = client.StreetViewPublishServiceClient(credentials=credentials)
for photo in streetview_client.list_photos(0, ''):
con = resources_pb2.Connection()
target_id = resources_pb2.PhotoId()
target_id.id = "photo_id"
con.target.id = target_id.id
photo.connections.extend([con])
update_mask = field_mask_pb2.FieldMask()
update_mask.FromJsonString("connections")
response = streetview_client.update_photo(photo, update_mask)
break

我想连接两张照片,因此我将目标 id 添加到查询照片,并将字段"连接"添加到update_mask。update_photo调用后的结果是以下错误消息:

google.gax.errors.RetryError: RetryError(重试中发生异常( 未归类为瞬态的方法,由 <_Rendezvous 以 (StatusCode.INVALID_ARGUMENT,空级别终止的 RPC 不接受姓名。>)

有什么提示吗?

为了在两张照片之间建立连接,您需要使用Method: photos.batchUpdate.Connections应设置在Photo下。此外,请注意需要实现的Photo的元数据。

下面是一个示例代码片段。

pose = resources_pb2.Pose(level=resources_pb2.Level(name="lvl", number=0))
connection1 = resources_pb2.Connection(target=resources_pb2.PhotoId(id="idOfConnection1"))
photo = resources_pb2.Photo(connections=[connection1], pose=pose)

相关内容

  • 没有找到相关文章

最新更新