簡體   English   中英

我正在嘗試在 Figma 和 map 中找到頁面的頁面 id 到 Google 幻燈片中的 object id

[英]I am trying to find the page id of a page in Figma and map it to the object id in Google Slides

問題:我從 Figma API 獲得了args.JSON並且我試圖從子數組中僅提取字符串“id”。 我正在使用谷歌應用腳本和 Figma API 創建插件。 我希望 Figma 中具有各自 id 的所有頁面都出現在谷歌應用腳本的幻燈片中。

參考:我如何從 Figma API 獲得 Pages Array

Figma API

Figma 頁面節點

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 腳本幻燈片創建:

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.unshift([1]); 而且我仍然無法將pageID傳遞到我的var = slide中。

我還嘗試在和 function 中運行我的變量PageID並且它運行良好,但是我仍然無法將pageID傳遞到我的var = slide中。 idJSON.id,filter(function(pageId){})

錯誤(在 Google 應用腳本中):

TypeError:無法調用未定義的方法“unshift”。
在函數 n3(文件名:53)

所以你想把 var2 變成一個變量來從 var1 中捕獲 ID。 將字符串從unshift的數組中移出。 那么你想使用 var 2 和 var 3 的concate給你的幻燈片一個 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
      );
    }
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM