Shopify REST API客户端忽略handle参数,始终返回最新文章
问题:Shopify REST API Article.find 未传入handle参数,返回错误文章
我调用Shopify REST API的Article.find方法时遇到问题:
const articleResource = shopify.rest.Article.find({ session, blog_id: myHardcodedBlogId, handle }).then(response => { console.log({handle, response}); });
这段代码始终返回最新创建的文章,而非指定handle对应的内容。我确认对应端点支持handle参数,但查看网络请求发现handle根本没被传进去。
问题原因
你用错了API方法:Article.find是根据ID单条查询文章的方法,它不会处理handle参数,所以你传入的handle会被忽略,接口默认返回最新创建的文章。而通过handle筛选文章属于列表查询并带过滤条件,得用Article.all方法。
修正代码
把find换成all,并将handle放到query对象里:
const articleResource = shopify.rest.Article.all({ session, blog_id: myHardcodedBlogId, query: { handle: handle } }).then(response => { // 返回的是符合条件的文章列表,取第一个即可 const targetArticle = response.data[0]; console.log({handle, targetArticle}); });
说明
Article.all对应列表查询端点,会把query对象里的参数拼接到请求URL的查询字符串中,这样就能正确传入handle参数,筛选出对应文章。因为handle是唯一的,所以返回的列表里只会有一条数据,取第一个即可。
内容的提问来源于stack exchange,提问作者Kristaps Drivnieks
相关产品推荐
相关产品推荐

