我正在尝试从 Typeform API 检索数据,默认情况下它只能返回 1000 个响应。要超越此限制并获得超过 1000 个响应,需要发送带有 before/after 参数以及令牌的 API 请求。
API 请求如下所示:
https://api.typeform.com/forms/Na5du3oD/responses?page_size=1000&after``<token>
在这里,令牌是您想要的特定响应集的标识符。
在 Azure ADF 的上下文中,可以实现分页,但挑战在于令牌存在于请求正文中。
API响应结构如下:
{
items: [
{
'token': <token>
}
]
}
URL: <hostname>/forms/Na5du3oD/responses?page_size=1000&after={offset}
现在有两个问题需要解决:
如果使用查询参数分页,可以利用body来设置偏移值。但是,由于令牌是嵌套数组的一部分,因此将值设置为 $.items[0]['token'] 成为一个挑战,并且将其作为正文传递是不可行的。
token值是作为API的响应获取的,那么如何将空值作为偏移量传递呢?
寻求有关如何实现此目标或任何潜在解决方法的指导。非常感谢您的帮助。
我尝试使用值为 $.items[0]['token'] 的查询参数进行响应。但 ADF 不支持!
token值是作为API的响应获取的,那么如何将空值作为偏移量传递呢?
据我所知,您的分页问题是由于在第一个答案之前无法获取值。
在查询参数规则中,{after} 周围的 { } 告诉它在数据集或链接服务中查找替换位置。如果我们排除 { } 并使用
after
,根据我的理解,一旦可以填充值,它应该添加到查询参数字符串旁边。由于您正在使用 body,因此直到第二次调用才会填充它。
另请参阅: REST api 分页规则帮助