Я пытаюсь найти идентификатор страницы в Figma и сопоставить его с идентификатором объекта в Google Slides.

Проблема: у меня естьargs.JSONиз Figma API, и я пытаюсь извлечь из дочернего массива только строку "id". Я использую скрипт приложения Google и API Figma для создания плагина. Я хочу, чтобы все страницы в Figma с соответствующими идентификаторами отображались на слайдах скрипта приложения Google.

Ссылка: как я получил массив страниц из Figma API

Figma API

Фигма Пагенод

Служба расширенных слайдов Google App Script

Конверсия страницы Figma:

var children = args = {
    "document": {
      "children": [{
            "id": "0:1",
            "name": "Layouts",
            "type": "CANVAS",
                          }]}}

var page = args.document.children;
JSON.page = [];
for (var i in page) {
  JSON.pages.unshift([1]);
};

var pageId = args.page.id;
idJSON.page.id = [];
for (var i in id) {
  idJSON.id, push(pages[i].("id"))
};

Создание слайда Google App Script:

function createSlide(presentationId) {
  // You can specify the ID to use for the slide, as long as it's unique.
  var pageid = page.stringify(id[0])

  var requests = [{
    'createSlide': {
      'objectId': {
        'insertionIndex': {
          'slideLayoutReference': {
            'predefinedLayout': 'TITLE_AND_TWO_COLUMNS'
          }
        }
      }
    }
  }];

  var slide = Slides.Presentations.batchUpdate({ 'requests': requests }, presentationId());
  Logger.log('Created Slide with ID: ' + slide.replies[0].createSlide.objectId);
}

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

Я попытался отфильтровать все идентификаторы со страницы, используя idJSON.id,filter(("id")) и он запустился, но я вызвал ошибку ab на моем JSON.pages.unshift([1]); и я все еще не смог пройти pageID в мой var = slide.

Я также пробовал запустить свою переменную PageID внутри и функции, и это тоже сработало, но я все еще не смог пройти pageID в мой var = slide. idJSON.id,filter(функция (pageId){})

Ошибка (в скрипте приложения Google):

TypeError: невозможно вызвать метод unshift из undefined.
at fuctionn3(имя файла:53)

1 ответ

Решение

Итак, что вы хотите превратить var2 в переменную для захвата идентификатора из var1. кunshiftстрока из массива var1. тогда вы хотите использоватьconcate с var 2 и var 3 присвойте слайду идентификатор.

Вот код

function strings() {
  var var2 = {};
  var var1 = args.document.children;
  pageJSON.page = [];
  for (var i in page) {
    pageJSON.page.push(page[1].id);
  }

  function createPresentation(NewSlides, Slide) {
    var NewSlides = pageJSON.concat(Slide);
    var presentation = Slides.Presentations.create({
      title: "MyNewPresentation"
    });
    Logger.log("Created presentation with ID: " + presentation.s);

    function createSlide(presentationId, NewSlides) {
      // You can specify the ID to use for the slide, as long as it's unique.
      var pageid = page.stringify(id[0]);

      var requests = [
        {
          createSlide: {
            objectId: {
              insertionIndex: {
                slideLayoutReference: {
                  predefinedLayout: "TITLE_AND_TWO_COLUMNS"
                }
              }
            }
          }
        }
      ];
      var var3 = Slides.Presentations.batchUpdate(
        { requests: requests },
        presentationId(NewSlides)
      );
      Logger.log(
        "Created Slide with ID: " + slide.replies[0].createSlide.objectId
      );
    }
  }
}
Другие вопросы по тегам