如何在Apigee的Assign Message中提取开发者自定义属性
获取Apigee开发者自定义属性并添加到请求头
不用Extract Value策略,直接通过Assign Message策略引用内置变量就能实现,具体操作如下:
- 先确认你已在开发者实体上创建了自定义属性(比如属性名为
internal_id) - 在Assign Message策略中,直接通过
{developer.自定义属性名}的格式引用属性值,添加到请求头:<AssignMessage name="AM-AddDevCustomHeader"> <Set> <Headers> <Header name="X-Developer-Internal-ID">{developer.internal_id}</Header> </Headers> </Set> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <AssignTo createNew="false" type="request"/> </AssignMessage> - 关键注意:这个策略要放在OAuth认证策略(如果使用了的话)之后执行,只有完成开发者认证,
developer变量才会被Apigee填充对应的实体数据 - 若需要避免属性不存在时抛出错误,可将
<IgnoreUnresolvedVariables>设为true,或者给策略加执行条件:developer.internal_id != null
排查要点
- 核对自定义属性名的拼写,Apigee变量区分大小写
- 确认当前请求对应的开发者实体确实包含该自定义属性(在Apigee控制台的开发者详情页可查看)
- 未经过开发者认证的请求,
developer变量为空,无法获取属性值
内容的提问来源于stack exchange,提问作者RenanMuniz
相关产品推荐
相关产品推荐

