调用Uber Eats Stores API遇401 Unauthorized错误求助
针对调用POST https://api.uber.com/v1/eats/stores接口返回{"message":"Invalid OAuth 2.0 credentials provided.","code":"unauthorized"}的问题,可按以下步骤排查:
确认AccessToken权限范围
Uber Eats相关接口需要特定Scope权限,比如eats.store.read或eats.store.write(需匹配接口用途)。检查获取AccessToken时请求的Scope是否包含目标接口所需权限,权限不足需重新授权生成包含正确Scope的Token。验证AccessToken有效性
检查Token是否过期、被撤销。开发者账号的AccessToken存在时效性,过期后需刷新或重新生成。核对请求方法与接口要求
查阅Uber官方文档确认/v1/eats/stores接口允许的请求方法,部分查询类接口仅支持GET,误用POST会触发权限验证失败。检查账号关联关系
确保开发者账号已正确绑定对应Uber Eats商家账号,若未绑定商家主体,即使Token有效也无法访问商家专属接口。校验请求头格式
确认Authorization头格式无误:Bearer后紧跟完整AccessToken,无多余空格或字符串截断。同时检查limit参数的传递位置,部分接口要求该参数放在请求体而非请求头中。确认环境一致性
验证AccessToken所属环境(沙箱/生产)与接口环境匹配,沙箱环境Token无法访问生产接口,反之亦然。
内容的提问来源于stack exchange,提问作者Analista usuario

