Facebook Graph API调用/me/accounts报#100 name参数必填错误
问题场景
- 参照Instagram Graph API入门流程开发,完成前3步配置后,调用用户关联主页列表接口时报错
- 调用端点:
/v14.0/me/accounts?access_token={$access_token} - 返回错误类型:
OAuthException,错误信息:(#100) The parameter name is required - 已申请权限列表:
instagram_basicinstagram_content_publishinstagram_manage_insightsinstagram_manage_commentspages_show_listbusiness_managementpages_read_engagement
- 查阅接口官方参考文档未找到name参数相关说明,未使用PHP SDK。
错误触发原因
这个报错是误导性错误提示,并非接口真的要求传递name参数——官方文档没有标注该参数要求,本身就说明不需要传name,强行加name参数也无法解决问题。实际触发原因分两类:
- 访问令牌类型错误:
/me/accounts是Facebook用户维度的接口,必须使用Facebook用户级访问令牌调用,如果传入的是主页访问令牌、Instagram账号访问令牌,接口无法识别对应用户上下文,就会抛出该错误。 - v14.0版本接口bug:当授权的Facebook用户未完成公共主页、Instagram专业账号的绑定关联,或者用户对目标主页没有对应访问权限时,v14.0版本的该端点不会返回真实的权限/资产缺失提示,会错误抛出name参数必填的提示。
对应解决方法
- 第一步:校验访问令牌有效性
调用调试接口/v14.0/me?access_token={$access_token}&fields=id,name,如果返回的账号ID不是你授权的Facebook个人账号ID,说明令牌类型错误,需要重新走OAuth授权流程,获取Facebook用户级访问令牌再调用接口。 - 第二步:校验资产绑定关系
确认完成以下配置:- 授权的Facebook个人账号对需要查询的公共主页拥有管理员及以上权限
- 要对接的Instagram专业账号(创作者/商家账号)已经和上述Facebook公共主页完成绑定,可在Instagram移动端账号设置、Meta商务管理平台中完成绑定操作
- 第三步:规避版本bug
如果前两步校验无问题,将接口版本降级到v13.0调用,即调用端点/v13.0/me/accounts?access_token={$access_token},该版本不存在错误提示误导问题,可以正常返回主页列表或真实的错误原因。 - 第四步:权限生效校验
当前申请的权限已经覆盖接口调用要求,无需额外申请权限。注意pages_show_list等权限需要通过应用审核才能对应用的测试用户、开发者以外的普通用户生效,测试阶段请将测试账号加入应用的测试用户列表后再调用。
内容的提问来源于stack exchange,提问作者erena
相关产品推荐
相关产品推荐

