«SheetrockError: Запрос не выполнен», но без дополнительных подробностей - PullRequest
0 голосов
/ 03 января 2019

Я уже некоторое время использую один и тот же код листа для запросов к своим таблицам Google. (Различные таблицы на разных сайтах и ​​т. Д.) По какой-то причине, в которой я не уверен в этом времени, я получаю сообщение об ошибке «SheetrockError: Запрос не выполнен». Не уверен, что я делаю не так.

Я пытался искать переполнение стека и Sheetrock Github Repo и даже открыл там проблему без ответа.

Вот мой код JS:

var mySpreadsheet = 'https://docs.google.com/spreadsheets/d/e/2PACX-1vSkcN_ec394URPCLiZ5R5YD3qTS65Q9oUken30dhFhm_rLVYftuFc9h9DPuWqtrgz1m27zVVVuEOfQE/pubhtml?gid=585428784';
var bandsTemplate = Handlebars.compile($('#bands-template').html());

function loadResults() {
  $('#bands').sheetrock({
    url: mySpreadsheet,
    query: "select A,B,C,D,E,F,G order by A asc",
    rowTemplate: bandsTemplate,
    callback: function(error, options, response) {
      if (!error) {
        $('#bands').tablesorter();
      }
      else {
        console.log(error);
      }
    }
  });
}

loadResults();

Вот мой HTML-код:

<div class="table-responsive">
            <table id="bands" class="table tablesorter">
              <thead>
                <tr>
                  <th class="col-xs-1">Song<br>Name <i class="fa fa-sort fa-fw" aria-hidden="true"></i></th>
                  <th>Band <i class="fa fa-sort fa-fw" aria-hidden="true"></i></th>
                  <th>Arranger <i class="fa fa-sort fa-fw" aria-hidden="true"></i></th>
                  <th>Date <i class="fa fa-sort fa-fw" aria-hidden="true"></i></th>
                  <th>YouTube Link <i class="fa fa-sort fa-fw" aria-hidden="true"></i></th>
                  <th>Notes <i class="fa fa-sort fa-fw" aria-hidden="true"></i></th>
                </tr>
              </thead>
              <script id="bands-template" type="text/x-handlebars-template">
                {{#if num}}
                  <tr>
                    <td><a href="{{cellsArray.[7]}}">{{cellsArray.[0]}}</a></td>
                    <td>{{cellsArray.[1]}}</td>
                    <td>{{cellsArray.[2]}}</td>
                    <td>{{cellsArray.[3]}}</td>
                    <td><a href="{{cellsArray.[4]}}">{{cellsArray.[4]}}</a></td>
                    <td>{{cellsArray.[8]}}</td>
                  </tr>
                {{/if}}
              </script>
            </table>
          </div>

Я также настроил свой код в JS Fiddle link для удобного предварительного просмотра (с уже подключенными плагинами Sheetrock и jQuery).

Мой ожидаемый результат - успешный вызов плагина sheetrock для вызова электронной таблицы с использованием предоставленного кода.

Safari также выдает следующие две ошибки:

[Error] Failed to load resource: the server responded with a status of 404 () (tq, line 0)
[Error] Refused to execute https://docs.google.com/spreadsheets/d/e/gviz/tq?gid=585428784&tq=select%20A%2CB%2CC%2CD%2CE%2CF%2CG%20order%20by%20A%20asc&tqx=responseHandler:_sheetrock_callback_0 as script because "X-Content-Type: nosniff" was given and its Content-Type is not a script MIME type.

1 Ответ

0 голосов
/ 06 января 2019

Код OP соответствует только двум исключениям:

Совместное использование : Электронная таблица OP не была публично предоставлена ​​в форме, требуемой документацией.

OP использовал функцию «Опубликовать в Интернете», но в документации Sheetrock объясняется «Нажмите« Поделиться »и установите видимость« Любой, у кого есть ссылка »или« Общедоступно в Интернете ». Убедитесь, что вы включили часть # gid = XURL; он определяет конкретную рабочую таблицу, которую вы хотите использовать.

Ссылка на электронную таблицу должна выглядеть примерно так:

https://docs.google.com/spreadsheets/d/1lJSFqDWzLyiYl4rUOe_mm0NJ6yvtwj8lFIihkuwH4VA/edit#gid=0

Столбец числовых данных : Sheetrock.js, по-видимому, нуждается как минимум в одном столбце числовых данных. Это конкретно не упоминается в документации, но обсуждается в нерешенных вопросах.Без столбца чисел Sheetrock не будет включать все строки данных.

Это представление моей электронной таблицы: Spreadsheet showing column of numbers

Этот jsfiddle использует тольконесколько записей из списка OP, но он демонстрирует отображение таблицы, а также работу сортировщика таблицы.

jsfiddle

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