dri*_*rip 14
您无法通过 Shopify 的单个请求获取超过 250 种产品。
请参阅此处的文档: https: //shopify.dev/docs/admin-api/rest/reference/products/product ?api[version]=2020-04(其中限制最大值可以是 250 )
为了获得超过 250 个产品,您需要创建一个递归函数并使用page_info参数来发出分页请求。有关此事的更多信息可以在这里查看:https ://shopify.dev/tutorials/make-pagination-requests-to-rest-admin-api
当您发出请求并且有一个分页时,shopify 会返回一个与此类似的标头:
Link: "<https://{shop}.myshopify.com/admin/api/2019-07/products.json?page_info=vwxyzab&limit=6>; rel=next"
Run Code Online (Sandbox Code Playgroud)
为了向第二页发出请求,您需要抓取链接并向其发出请求,当您发出该请求时也是如此,如果有更多页面等,将会有相同的标头。
因此,您需要获取响应标头及其链接并使其递归:
function makeRequest(nextLink = '{STORE URL}/products.json?limit=250'){
return new Promise((resolve, reject) => {
fetch(nextLink).then(r => {
const headerLink = r.headers.get('link');
const match = headerLink.match(/<[^;]+\/(\w+\.json[^;]+)>;\srel="next"/);
const nextLink = match ? match[1] : false;
if(nextLink){
makeRequest(nextLink)
} else {
resolve();
}
})
})
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
26473 次 |
| 最近记录: |