是否可以在我的Squarespace网站上显示来自SeatGeek API调用的数据?

问题描述 投票:0回答:1

是否可以连接到SeatGeek API以在Squarespace网站上显示本地事件数据?

Squarespace API docs似乎都针对与贸易相关的目标。

我熟悉如何在移动应用程序的上下文中连接到SeatGeek API。但是我不知道从Squarespace内连接到API(为商业列出的API除外)是否可行。

SeatGeek将是unofficial integration。我已经在Squarespace论坛上发布了此消息,但没有任何回复,因此请在这里查看是否有人知道这一点。

非常感谢您的帮助!

code-injection squarespace
1个回答
0
投票

"Personal" plan tier上方的Squarespace网站支持通过Code BlocksCode Injection添加自定义JavaScript。

因此,如果SeatGeek支持通过JavaScript使用其API(看起来确实如此),那么您可以从Squarespace网站中获取数据。

在您网站的哪个位置添加了代码,并且使用哪种初始化方法将视情况而定。例如,是否使用Squarespace 7.0或7.1以及所使用的模板是否启用了AJAX加载是因素。

但是,无论在何处添加代码和使用哪种初始化方法,基于what I see here,我都认为可以通过JavaScript从SeatGeek获取数据。 (从右上角的“ 代码段”面板中选择“ JavaScript> XMLHttpRequest”,默认情况下显示“ (Node.js)Unirest”):

var data = null;

var xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener("readystatechange", function () {
    if (this.readyState === this.DONE) {
        console.log(this.responseText);
    }
});

xhr.open("GET", "https://seatgeek-seatgeekcom.p.rapidapi.com/events");
xhr.setRequestHeader("x-rapidapi-host", "seatgeek-seatgeekcom.p.rapidapi.com");
xhr.setRequestHeader("x-rapidapi-key", "SIGN-UP-FOR-KEY");

xhr.send(data);

尽管它视情况而定,但在大多数情况下,您将需要使用站点范围的代码注入区域与代码块或页面级代码注入。然后,在Squarespace 7.0网站上,您需要将代码包装在以下位置:

window.Squarespace.onInitialize(Y, function() {
  // do stuff here
});

另一方面,对于Squarespace 7.1网站,通常会将代码包装在:

document.addEventListener('DOMContentLoaded', function() {
  // do stuff here
}, false);

最后,您需要考虑如何输出数据。您可以通过目标页面正文中的代码块添加HTML标记,也可以将标记作为JavaScript的一部分添加到页面中。]

© www.soinside.com 2019 - 2024. All rights reserved.