Можно ли отобразить данные из вызова API SeatGeek на моем сайте Squarespace? - PullRequest
0 голосов
/ 03 апреля 2020

Можно ли подключиться к SeatGeek API для отображения локальных данных о событиях на сайте Squarespace?

Документы Squarespace API все, похоже, направлены на коммерческие цели.

Я знаком с тем, как подключиться к SeatGeek API в контексте мобильного приложения. Но я не знаю, возможно ли подключение к API (кроме перечисленных для торговли) из Squarespace.

SeatGeek будет неофициальной интеграцией . Я написал на форумах squarespace без ответа, поэтому просил здесь узнать, знает ли кто-нибудь об этом.

Большое спасибо за любую помощь!

1 Ответ

0 голосов
/ 03 апреля 2020

Сайты Squarespace выше «Персонального» уровня плана поддерживают добавление пользовательских JavaScript через кодовых блоков и Внедрение кода .

Поэтому, если SeatGeek поддерживает использование их API через JavaScript (и, похоже, они это делают), вы можете получить данные с вашего сайта Squarespace.

Где на вашем сайте добавлен код и что Используемые методы инициализации будут варьироваться в зависимости от конкретного случая. Например, используете ли вы Squarespace 7.0 или 7.1 и имеет ли AJAX разрешенная загрузка для используемого вами шаблона факторы.

Однако независимо от того, где добавлен код и какие методы инициализации используются, он На основании того, что я вижу здесь , мне кажется, что получение данных из SeatGeek через JavaScript возможно. (Выберите "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.

...