You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GMB本地帖子PATCH请求:批量增删媒体的参数配置问题

GMB本地帖子PATCH请求批量增删图片的正确配置

问题背景

使用PATCH请求编辑GMB本地帖子时,尝试设置updateMask=media并传入多图数组,触发BAD_REQUEST错误,提示“Too many photos. A post may only have a maximum of 1 photos.”,但GMB本地帖子实际最多支持10张图片。当前已有可正常替换全部媒体的请求示例:

PATCH https://mybusiness.googleapis.com/v4/accounts/*/locations/*/localPosts/*?updateMask=media.mediaFormat,media.sourceUrl
const payload = { media: [{ mediaFormat: "PHOTO", sourceUrl: "URL" }] }

错误原因

这个错误并非GMB全局限制1张图,而是两个核心问题:

  1. PATCH更新逻辑误解:GMB的PATCH请求中,media字段是全量替换而非追加。若仅传入新图片数组,会直接覆盖原有媒体,但如果你的帖子类型(如Offer、Event)仅允许1张主图,就会触发数量超限错误。
  2. 帖子类型限制:不同类型的本地帖子媒体配额不同,Offer、Event类最多1张图,普通动态帖最多支持10张图。

批量添加图片配置

若要批量添加图片(最终总数不超过对应帖子类型的上限),需按以下步骤操作:

  1. 先通过GET请求获取目标帖子的完整media数组;
  2. 将新增的图片对象(格式与示例一致)追加到原有数组中;
  3. 将合并后的数组作为media字段传入请求;
  4. 设置updateMask=media(或更精确的media.mediaFormat,media.sourceUrl)。

示例代码:

// 假设已通过GET接口获取到原有媒体列表oldMedia
const newPhotos = [
  { mediaFormat: "PHOTO", sourceUrl: "https://example.com/photo1.jpg" },
  { mediaFormat: "PHOTO", sourceUrl: "https://example.com/photo2.jpg" }
];
// 合并原有媒体与新图片
const payload = { media: [...oldMedia, ...newPhotos] };

请求URL:

PATCH https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/localPosts/{postId}?updateMask=media

删除单个图片配置

删除单张图片同样基于全量替换逻辑:

  1. 通过GET请求获取当前帖子的media数组;
  2. 过滤掉需要删除的图片(可通过sourceUrl或媒体对象的name字段匹配);
  3. 将过滤后的数组作为media字段传入请求;
  4. 设置updateMask=media。

示例代码:

// 假设要删除指定URL的图片
const filteredMedia = oldMedia.filter(item => item.sourceUrl !== "https://example.com/to-delete.jpg");
const payload = { media: filteredMedia };

请求URL:

PATCH https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}/localPosts/{postId}?updateMask=media

关键注意事项

  • 确保帖子类型支持对应数量的媒体:普通动态帖最多10张图,Offer/Event类仅支持1张;
  • 所有图片URL需符合GMB的媒体要求(可访问、格式正确、尺寸合规);
  • 若只需替换全部媒体,直接传入目标媒体数组即可,无需合并原有数据(即你提供的示例逻辑)。

内容的提问来源于stack exchange,提问作者Bartłomiej Kozanka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 06:32:03