如何通过Graph API将页面设为服务区域商家(无街道信息)
通过Graph API将页面设置为服务区域商家(无街道信息)
我之前也碰到过类似的问题,直接给street传空字符串会触发权限或验证错误,要实现这个需求,核心是利用service_area字段配置服务区域,同时正确处理地址字段的移除,具体步骤和注意事项如下:
1. 确保拥有正确的权限
首先,你的应用必须获得pages_manage_metadata权限,而且授权的用户必须是目标页面的管理员。之前出现的(#200) Permissions error大概率是因为权限不足,或者没有完成正确的页面授权流程。
2. 调用PATCH请求配置服务区域
要将页面切换为服务区域商家,需要向页面节点发送PATCH请求,重点设置service_area字段,同时将不需要的地址字段(比如street、postal_code)设为null(不是空字符串)。
示例请求
PATCH /v18.0/{your-page-id} Content-Type: application/json { "location": { "country_code": "CN", // 替换为你的目标国家代码,必填 "city": "北京市", // 可选,根据需要填写城市/地区 "street": null, // 明确移除街道信息 "postal_code": null // 明确移除邮政编码 }, "service_area": { "type": "CITY", // 可选类型:CITY/REGION/COUNTRY/CUSTOM_RADIUS "value": "北京市" // 对应type的值,CUSTOM_RADIUS需传坐标+半径:{"latitude": 39.9042, "longitude": 116.4074, "radius": 10, "radius_unit": "km"} } }
3. 处理必填字段的注意事项
location本身不是必填,但country_code通常是服务区域配置的必填项(不同地区要求可能略有差异),填写后就不需要强制设置street和postal_code了。- 绝对不要用空字符串(
"")来清空地址字段,必须用null,否则会触发Graph API的字段验证错误,提示必填字段缺失。
4. 验证设置是否生效
发送请求后,可以调用GET请求查看结果:
GET /v18.0/{your-page-id}?fields=location,service_area
返回的结果里如果location没有street和postal_code,且service_area已正确配置,就说明设置成功了。
内容的提问来源于stack exchange,提问作者Ananth
相关产品推荐
相关产品推荐

