javascript - 我试图在 Figma 中找到页面的页面 ID 并将其映射到 Google Slides 中的对象 ID

标签 javascript json multidimensional-array google-apps-script figma-api

问题:我从 Figma API 获得了 args.JSON,我试图从子数组中仅提取字符串“id”。我正在使用 google app script 和 Figma API 来创建一个插件。我希望 Figma 中的所有页面及其各自的 id 出现在谷歌应用程序脚本的幻灯片中。

引用:我是如何得到 Pages Array from Figma API

Figma API

Figma Pagenode

Google App Script Advanced Slides Service

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 脚本幻灯片创建:

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 方法只获取 id,但它运行了一个错误,我不确定该使用什么方法。

我尝试使用 idJSON.id,filter(("id")) 过滤掉页面中的所有 id,它运行了,但在我的 JSON.pages 上导致了 ab 错误。 unshift([1]); 而且我仍然无法将 pageID 传递到我的 var = slide 中。

我也尝试在函数中运行我的变量 PageID 并且它工作得很好但是我仍然无法将 pageID 传递到我的 var =幻灯片。 idJSON.id,过滤器(函数(pageId){})

错误(在 Google 应用脚本中):

TypeError: Cannot call method "unshift" of undefined.
at fuctionn3(filename:53)

最佳答案

所以你想把 var2 变成一个变量来从 var1 中捕获 ID。 unshift var1 数组中的字符串。然后你想使用 concate 与 var 2 和 var 3 给你的幻灯片一个 id。

这是代码

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
      );
    }
  }
}

关于javascript - 我试图在 Figma 中找到页面的页面 ID 并将其映射到 Google Slides 中的对象 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58863711/

相关文章:

javascript - 多维数组indexOf不工作js

php - Mysql结果转换成二维数组php

Javascript 函数根据单击的按钮动态创建带有返回值的按钮

javascript - 使用 fabric.js 将 Canvas 形状绘制为椭圆形 lauout

javascript - 绘制自定义形状和弯曲矩形

python - 使用自定义状态代码在 Python Bottle 中发送字典作为响应

javascript - 我如何发送 POST 代替 Ember 中的 PUT 或 DELETE?

c# - 带有数字键的动态 json 对象

java - 如何将二维数组拆分为左右数组?

javascript - 页脚中的一个 <A> 元素不响应悬停或点击