使用 HTTP 获取 Squarespace Collection 项目

Get Squarespace Collection items with HTTP

我正在尝试从 Squarespace 博客集合中获取内容以显示在备用平台(应用程序)上。有没有办法用 HTTP 请求做到这一点?我没有启用开发人员模式以保持网站模板的活动。

例如,如果有一个包含 5 个帖子的博客集合,我希望收到一个 GET 响应,其中包含要在应用程序上显示的这 5 个帖子的数据。

感谢任何帮助:)

是的,所有 Squarespace collections 和项目都可以 requested as JSON (though not all content is always available as JSON, such as open-block fields) 通过使用 format=jsonformat=json-pretty 参数。

例如,这里是官方 Squarespace 博客的 JSON 版本:

https://blog.squarespace.com/?format=json

由于信息可用 JSON,这就变成了您如何提出请求的问题。如果它在浏览器中处理,您可能会使用 JSONP.

一旦您成功请求并接收到数据,接下来就是解析和呈现您需要的属性的问题了。

例如,您可能首先查看 items 数组,其中包含 collection 中的 items/posts 的列表(达到最大 per-page 限制; 注意 pagination 属性)。然后,您可以遍历项目数组,获取 body 属性 或您需要的其他属性,并根据需要处理数据。您还可以利用 fullUrl 属性 对单个项目 URL 发出后续请求,并根据需要相应地附加 ?format=json

了解 body 属性 中的内容很可能充满了 Squarespace-specific 标记。