如何通过Google MyBusiness V1 API上传与获取图片/视频?
解决方案
核心结论
Google My Business V1(现正式名为Business Profile API)确实支持媒体(图片/视频)的上传与获取,但不能使用废弃的V4接口,需通过V1专属的媒体管理端点结合Google可恢复上传协议实现。
具体步骤
1. 切换到V1官方媒体端点
彻底放弃调用废弃的v4接口,改用V1的标准端点:
- 获取媒体列表:发送
GET请求到https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{accountId}/locations/{locationId}/media - 上传媒体:遵循Google可恢复媒体上传协议,分两步操作:
- 先发
POST请求到上传端点,指定uploadType=resumable:
请求头需包含:https://mybusinessbusinessinformation.googleapis.com/upload/v1/accounts/{accountId}/locations/{locationId}/media?uploadType=resumableAuthorization: Bearer {你的访问令牌}Content-Type: application/jsonX-Upload-Content-Type: {媒体MIME类型,如image/jpeg、video/mp4}
请求体为JSON格式的元数据:
{ "mediaFormat": "PHOTO", // 可选PHOTO/VIDEO "category": "PROFILE", // 可选PROFILE/COVER等枚举值 "description": "门店外观照片" } - 从响应头提取
Location字段(临时上传URL),将媒体文件内容PUT到该URL完成上传。
- 先发
2. 确认API启用状态
确保Google Cloud项目中已启用Business Profile API(而非旧版My Business API):
- 进入控制台搜索「Business Profile API」并确认启用;
- 无需理会报错中的旧API链接,因为V4 API已完全废弃,无法再启用。
3. 权限核对
确认OAuth 2.0令牌包含必要权限(你已拥有V1全部权限,可快速验证):
https://www.googleapis.com/auth/business.manage(核心权限,覆盖所有媒体操作)
常见问题排查
- 若仍报
PERMISSION_DENIED:检查令牌权限范围是否正确,以及认证账号是否拥有目标位置的管理权限; - 上传失败:确保媒体文件符合格式要求(图片最大5MB、视频最大100MB),且
X-Upload-Content-Type与实际文件类型匹配。
内容的提问来源于stack exchange,提问作者Helio Borges
相关产品推荐
相关产品推荐

