«SheetrockError: запрос не выполнен», но без подробностей

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

Я пробовал поискать переполнение стека и Гипсокартон на 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.info(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 для удобного предварительного просмотра (с уже связанными плагинами Sheetrock и jQuery).

Я ожидаю, что плагин гипсокартона успешно вызовет электронную таблицу, используя предоставленный код.

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.

Похоже, ваша ссылка не является стандартной таблицей Google. Возможно, Google намеренно отказался от SheetRock в этом случае

Valijon 06.01.2019 00:50

Ссылка на таблицу еще хуже для меня. И это тот же формат, который всегда использует SheetRock.

Frank Doe 06.01.2019 00:54

«Ссылка на таблицу еще хуже для меня». Нет, иначе ваш jsfiddle будет работать. Ссылка на вашу таблицу неверна. Пример 2 для гипсокартона: https://docs.google.com/spreadsheets/d/1qT1LyvoAcb0HTsi2rHBl‌​tBVpUBumAUzT__rhMvrz‌​5Rk/edit#gid=0 = простой общий файл. Ваш jsfiddle: https://docs.google.com/spreadsheets/d/e/2PACX-1vSkcN_ec394U‌​RPCLiZ5R5YD3qTS65Q9o‌​Uken30dhFhm_rLVYftuF‌​c9h9DPuWqtrgz1m27zVV‌​VuEOfQE/pubhtml?gid=‌​585428784 = Опубликовать в сети. Документация: «Лист должен быть публичным».

Tedinoz 06.01.2019 12:22
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
3
215
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

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

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

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

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

Это вид моей таблицы: Spreadsheet showing column of numbers

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

jsfiddle

Другие вопросы по теме