Вставить таблицы Google без публикации - PullRequest
0 голосов
/ 20 апреля 2020

Я не хочу вставлять электронные таблицы Google без публикации, этот файл предоставил мне только доступ.

Я пытаюсь так:

function viewSheet(idSheet){

  var ss = SpreadsheetApp.openById(idSheet);
  var idSheet2 = ss.getSheetByName("Sheet2").getSheetId();
  var url = "https://docs.google.com/spreadsheets/d/" + idSheet + "/pubhtml#gid=" + idSheet2;
  return url ;

}

Мне это не нравится .

The result failed

Мне не нравится это, я использую publi sh в меню: "FILE -> Publi sh для web ", и у меня есть URL, не используйте код выше!

Desired results

P / s: Извините, мой engli sh немного беден, пожалуйста, направьте меня почини это !!!

1 Ответ

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

Как опубликовать sh в Интернете с помощью скрипта приложений

  • Ваш код пытается получить ссылку на опубликованную на веб-версию электронной таблицы таблицу
  • Однако до этого используя эту ссылку, вам необходимо сначала включить публикацию
  • . Это можно сделать, указав соответствующие параметры Drive revisions
  • . После включения публикации вы можете получить ссылку, как и раньше, однако вам следует изменить URL-адрес с

var url = "https://docs.google.com/spreadsheets/d/" + idSheet + "/pubhtml#gid=" + idSheet2;

на

var url = "https://docs.google.com/spreadsheet/pubhtml?key=" + idSheet + "&gid=" + idSheet2 + "&single=true";

Пример:

function viewSheet(idSheet){
  var revisionsList = Drive.Revisions.list(idSheet);  
  var revisions = revisionsList.items; 
  var revisionId =revisions[revisions.length-1].id; 
  var lastRevision = Drive.Revisions.get(idSheet, revisionId); 
  lastRevision.published = true;
  lastRevision.publishAuto = true;
  lastRevision.publishedOutsideDomain = true;
  Drive.Revisions.update(lastRevision, idSheet, revisionId); 

  var ss = SpreadsheetApp.openById(idSheet);
  var idSheet2 = ss.getSheetByName("Sheet2").getSheetId();
  var url = "https://docs.google.com/spreadsheet/pubhtml?key=" + idSheet + "&gid=" + idSheet2 + "&single=true";
  return url ;

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