当您通过 My Business Business Information API 或商家资料界面更新商家信息时,修改内容会经过审核和验证流程,然后才会显示在 Google 搜索和 Google 地图上。此外,Google 可能会根据用户报告或已获许可的数据源更新商家详细信息。
借助 v1alpha Edit Status 端点,您可以在单个请求中检索营业地点或其属性的统一视图:
- 商家提供的数据:商家最后一次提交的值。
- 面向消费者的数据:这些值会显示在 Google 搜索和 Google 地图上。
- 扩展字段元数据:每个字段或每个属性的修改状态,包括最新修改的生命周期阶段、原始来源(
API或UI)、上次修改的时间戳,以及修改被拒时的任何违规原因。
准备工作
在使用 My Business Business Information API 之前,请注册您的应用并获取 OAuth 2.0 凭据。如需详细了解如何开始使用,请参阅基本设置。
检索扩展的位置数据
如需检查商家提供的位置数据、面向消费者的位置数据以及每个位置的每个字段的修改状态,请调用 locations.getExtended。
与 locations.get 不同,locations.getExtended 不需要 readMask 参数,并会返回完整的 ExtendedLocation 资源。
请求
GET https://mybusinessbusinessinformation.googleapis.com/v1alpha/locations/{locationId}:getExtended
响应
响应包含三个顶级字段:
locationProvidedByMerchant:由商家管理的Location数据。locationSeenByConsumers:消费者在 Google 搜索和 Google 地图上看到的Location数据。extendedFieldData:snake_case中顶级Location字段名称(例如title、phone_numbers、website_uri、storefront_address或regular_hours)到ExtendedFieldData对象的映射。键始终是纯顶级字段名称,绝不是嵌套子字段。
{
"locationProvidedByMerchant": {
"name": "locations/{locationId}",
"title": "Example Coffee Roasters - Best Coffee in Sydney",
"phoneNumbers": {
"primaryPhone": "02 5550 1234"
},
"websiteUri": "https://www.example.com/"
},
"locationSeenByConsumers": {
"name": "locations/{locationId}",
"title": "Example Coffee Roasters",
"phoneNumbers": {
"primaryPhone": "+61 2 5550 1234"
},
"websiteUri": "https://www.example.com/"
},
"extendedFieldData": {
"title": {
"lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_REJECTED",
"rejectionReason": "MISREPRESENTATION",
"updateTime": "2026-09-25T08:00:00Z",
"source": "SOURCE_API"
},
"phone_numbers": {
"lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_UPDATED_BY_GOOGLE",
"updateTime": "2026-09-20T14:15:00Z",
"source": "SOURCE_UI"
},
"website_uri": {
"lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_ACCEPTED",
"updateTime": "2026-09-15T10:30:00Z",
"source": "SOURCE_API"
}
}
}检索扩展属性数据
如需检查某个营业地点的属性中由商家提供的值、面向消费者的值和修改状态,请调用 locations.attributes.getExtended。
请求
GET https://mybusinessbusinessinformation.googleapis.com/v1alpha/locations/{locationId}/attributes:getExtended
响应
响应会返回一个 ExtendedAttributes 资源,其中包含 ExtendedAttribute 条目的列表。每个条目都会将 attributeProvidedByMerchant 和 attributeSeenByConsumers 与该属性的 extendedFieldData 对象配对:
{ "name": "locations/{locationId}/attributes", "extendedAttributes": [ { "attributeProvidedByMerchant": { "name": "attributes/has_wheelchair_accessible_entrance", "valueType": "BOOL", "values": [ true ] }, "attributeSeenByConsumers": { "name": "attributes/has_wheelchair_accessible_entrance", "valueType": "BOOL", "values": [ true ] }, "extendedFieldData": { "lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_ACCEPTED", "updateTime": "2026-09-10T12:00:00Z", "source": "SOURCE_API" } }, { "attributeProvidedByMerchant": { "name": "attributes/wi_fi", "valueType": "ENUM", "values": [ "free_wi_fi" ] }, "attributeSeenByConsumers": { "name": "attributes/wi_fi", "valueType": "ENUM", "values": [ "paid_wi_fi" ] }, "extendedFieldData": { "lastEditLifecycleStage": "EDIT_LIFECYCLE_STAGE_PENDING", "updateTime": "2026-09-28T16:45:00Z", "source": "SOURCE_API" } } ] }
了解扩展字段元数据
每个 ExtendedFieldData 对象都包含以下字段:
| 字段 | 类型 | 说明 |
|---|---|---|
lastEditLifecycleStage |
EditLifecycleStage |
对此字段或属性的最新修改的审核或投放状态。 |
rejectionReason |
PolicyViolation |
导致修改被拒的违规行为。当 lastEditLifecycleStage 为 EDIT_LIFECYCLE_STAGE_REJECTED 时填充。 |
updateTime |
string (Timestamp) |
上次提交对此字段或属性的修改时的时间戳(RFC 3339 格式)。 |
source |
Source |
商家提交修改的来源平台(SOURCE_API 或 SOURCE_UI)。 |
修改生命周期阶段
EditLifecycleStage 枚举指示修改在其生命周期中所处的位置:
| 值 | 说明 | 建议采取的操作 |
|---|---|---|
EDIT_LIFECYCLE_STAGE_ACCEPTED |
商家的修改已获批准,可以投放。 | 无需任何操作。 |
EDIT_LIFECYCLE_STAGE_PENDING |
商家的修改正在审核中,尚未应用于面向消费者的商家信息。 | 等待审核完成。在修改内容处于待处理状态时,请勿重复重新提交相同的修改内容。 |
EDIT_LIFECYCLE_STAGE_REJECTED |
商家的修改未被接受。检查 rejectionReason 是否具有特定的 PolicyViolation 值。 |
纠正根本性的违规问题,然后使用 locations.patch 或 locations.updateAttributes 提交新的更新。 |
EDIT_LIFECYCLE_STAGE_UPDATED_BY_GOOGLE |
面向消费者的值已由 Google 更新(例如,根据用户报告或外部来源),并且与商家提供的值不同。 | 查看 locationSeenByConsumers 或 attributeSeenByConsumers 值,然后接受或覆盖该值。请参阅管理 Google 更新。 |
EDIT_LIFECYCLE_STAGE_DRAFT |
修改内容已保存为草稿(例如,针对未经验证的营业地点),但尚未在 Google 搜索和 Google 地图上发布。 | 完成营业地点验证,以便发布商家信息。 |
EDIT_LIFECYCLE_STAGE_UNSPECIFIED |
修改生命周期阶段未知或未指定。 | 无。 |
修改来源
Source 枚举用于标识商家提交修改所通过的渠道:
SOURCE_API:修改是通过 My Business Business Information API 提交的。SOURCE_UI:修改是通过商家资料网页界面或移动应用提交的。SOURCE_UNSPECIFIED:未指定修改来源。
违规行为
当 lastEditLifecycleStage 为 EDIT_LIFECYCLE_STAGE_REJECTED 时,rejectionReason 字段会提供一个 PolicyViolation 枚举值,用于说明修改被拒的原因。拒绝原因涵盖以下方面(示例):
- 商家资料和账号状态:
ACCOUNT_RESTRICTED_AND_SUSPENDED、ACCOUNT_RESTRICTED_AND_EDIT_REJECTED、ASSOCIATED_ACCOUNT_SUSPENDED、BUSINESS_INELIGIBLE、LOCATION_SUSPENDED、LOCATION_VERIFICATION_REQUIRED、OWNERSHIP_REVOKED、PO_BOX。 - 修改限制:
EDITING_RESTRICTION、ILLEGAL_BUSINESS_HOURS_EDIT、IDENTITY_CHANGE、GEOGRAPHIC_LOCATION_CHANGE。 - 内容政策:
MISREPRESENTATION、OFF_TOPIC、PERSONAL_INFO、GIBBERISH_AND_REPETITIVE、OBSCENITY_AND_PROFANITY、GENERIC_QUALITY。
如需查看枚举值和说明的完整列表,请参阅 PolicyViolation 参考文档。