是否可以连接到SeatGeek API以在Squarespace网站上显示本地事件数据?
Squarespace API docs似乎都针对与贸易相关的目标。
我熟悉如何在移动应用程序的上下文中连接到SeatGeek API。但是我不知道从Squarespace内连接到API(为商业列出的API除外)是否可行。
SeatGeek将是unofficial integration。我已经在Squarespace论坛上发布了此消息,但没有任何回复,因此请在这里查看是否有人知道这一点。
非常感谢您的帮助!
"Personal" plan tier上方的Squarespace网站支持通过Code Blocks和Code 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的一部分添加到页面中。]