Как разобрать JSON из Google Sheet с помощью AngularJS app.factory? - PullRequest
0 голосов
/ 04 апреля 2020

Мне нужна твоя помощь. Я попробовал все, и я не мог узнать, как это сделать. У меня есть код, который повторно использует данные из app.factory, и теперь я хочу обновить его из Google Sheet:

Я хотел бы знать, как использовать мой URL-адрес Google Sheet: https://spreadsheets.google.com/feeds/cells/1UyzF5cxmxw1_WrpgUJ7t6hQMjXVslowpm0nZes1hn9E/2/public/full?alt=json

Я проанализировал это с помощью:

Но я хочу не делать этого на каждом используемом мной контроллере, как мне поместить анализатор и создание правильных данных, проанализированных в app.factory, просто однажды?

Я попробовал несколько подходов без успеха, я чувствую себя немного ошеломленным, больше не могу думать.

Заранее благодарю за помощь.

Cheers, Karla

// Сегодня с нормальной структурой

app.factory('DataTransfer', function($http) {
  var data = {};
  return {
    getPortfolioItems: function() {
      return $http.get('https://cupoom.club/json/cupoom.json');
    }
  };
});

// Сегодня, как я использую внутри нескольких контроллеров

DataTransfer.getPortfolioItems().then(function(items) {
      $scope.portfolioList = items.data;
});

// Как я использую, когда код исходит из Google Sheet, но мне нужно поместить его в app.factory

DataTransfer.getPortfolioItems().then(function(items) {
    var linha = items.data.feed.entry;
    var cupon = [];
    var categories_all = [];

    for (var i = 50; i < linha.length; i += 50){
        if (linha[i+3].content.$t !== "VAZIO") {

        cupon.push({
            id : linha[i+3].content.$t.toLowerCase(),
            name : linha[i+2].content.$t,
            description : linha[i+4].content.$t
        });

        }
    }

    console.log(cupon);
    $scope.portfolioList = cupon;   
});

1 Ответ

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

Это сработало так:

getPortfolioItems: function() {
    var cupoms = $http.get('https://spreadsheets.google.com/feeds/cells/1UyzF5cxmxw1_WrpgUJ7t6hQMjXVslowpm0nZes1hn9E/2/public/full?alt=json')
    .then(function(items) {
        var linha = items.data.feed.entry;
        var cupon = [];

        for (var i = 50; i < linha.length; i += 50){
            if (linha[i+3].content.$t !== "VAZIO") {
                cupon.push({
                    id : linha[i+3].content.$t.toLowerCase(),
                    email : linha[i+1].content.$t,
                    description : linha[i+4].content.$t
                });
            }
        }
        return cupon;
        console.log(cupon);
    });
    console.log("1" + " // " + cupoms);
    return cupoms;
}};
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...