调用me-register接口创建买家用户返回User.IsNotTemp错误如何解决
调用me-register端点返回User.IsNotTemp报错处理方案
你收到的完整错误响应如下:
{ "Errors": [ { "ErrorCode": "User.IsNotTemp", "Message": "The current user is not a temp user. If you are trying to allow anonymous access to your app, see our guide on Anonymous Shopping.", "Data": null } ] }
报错核心原因
me-register端点的设计用途是将临时匿名买家用户转换为正式注册用户,仅当请求携带的身份凭证对应用户为临时匿名用户时才可调用成功,你当前请求传入的凭证对应用户不属于临时匿名用户范畴,因此触发该报错。
排查处理步骤
你已经配置Default Context User、开启Anonymous Buyer功能仍报错,可按以下顺序排查:
- 校验请求身份凭证:确认调用
me-register时传入的access_token为匿名用户的临时凭证,不要误用正式注册用户、管理员用户的token发起请求。测试场景可先调用匿名凭证获取接口拿到新的临时用户token后再重试注册 - 校验匿名配置完整性:仅开启Anonymous Buyer、配置Default Context User不足以自动生成临时匿名用户,需要同时开启「允许自动生成匿名临时用户」开关;同时确认你配置的Default Context User归属匿名买家角色组,不要设置为正式买家或管理员角色
- 调整业务调用逻辑:如果你的业务场景是直接创建正式买家账户,不需要走匿名用户转正式的流程,无需调用
me-register端点,改用管理员权限调用users创建接口直接生成正式买家用户即可
内容的提问来源于stack exchange,提问作者Roshan Kolhe
相关产品推荐
相关产品推荐

