Хранить данные из запроса API в базе данных или в переменной массива Shopify - PullRequest
0 голосов
/ 29 апреля 2020

Я использую API YouTube и сохраняю данные ответов с помощью LocalStorage, затем получаю данные из LocalStorage и выполняю какие-то действия (создание карусели видео).

Конечная цель - избегать отправки запросов каждый раз в API и получить видео, так как один запрос имеет 100 затрат. Ежедневные квоты составляют 10000.

Поэтому я ищу способ сделать запрос один раз в день, затем сохранить ответ в массиве Shopify и затем построить карусель, используя этот массив.

Поэтому мой вопрос заключается в том, как сохранить ответ API в переменной Shopify с {% assign%}, если это возможно, или в базу данных?

Ниже приведен фрагмент кода

      let APIKEY = ""
      let channelId = ""
      let retrievedData = localStorage.getItem("FVideos");
      let newData = JSON.parse(retrievedData);
      let itemsArr = []; 

      if(newData == null){
            let request = $.ajax({
            url: `https://www.googleapis.com/youtube/v3/search?key=${APIKEY}&channelId=${channelId}&part=id&order=date&maxResults=6&fields=items(id(videoId))`,
            method: "GET",
            dataType: "json"
          });

          request.done(function( data ) {
          itemsArr.push(data.items);
            for(let i=0; i < data.items.length; i++){
              let videoId = itemsArr[0][i].id.videoId;
              createHtmlBlock(videoId);
              localStorage.setItem("FVideos", JSON.stringify(itemsArr));  
              } 
            })
          request.complete(function(){
            buildCarousel();
          })
          request.fail(function( jqXHR, textStatus ) {
              alert( "Request failed: " + textStatus );
          });

      } else {
        for( let d=0; d < newData[0].length; d++){
          let videoId = newData[0][d].id.videoId;
          createHtmlBlock(videoId);
        }

        buildCarousel();
     }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...