我试图在 Figma 中找到页面的页面 ID,并将其映射到 Google 幻灯片中的对象 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”。我正在使用 google 应用程序脚本和 Figma API 创建一个插件。我希望 Figma 中的所有页面及其各自的 id 出现在 google 应用程序脚本的幻灯片中。
参考:我是如何得到 Pages Array from Figma API
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 应用脚本幻灯片创建:
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
.
我也尝试了 运行 我的变量 PageID
和函数并且它工作得很好但是我仍然无法将 pageID
传递到我的 var = slide
.
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
);
}
}
}
问题:我从 Figma API 得到了 args.JSON
,我试图只从子数组中提取字符串“id”。我正在使用 google 应用程序脚本和 Figma API 创建一个插件。我希望 Figma 中的所有页面及其各自的 id 出现在 google 应用程序脚本的幻灯片中。
参考:我是如何得到 Pages Array from Figma API
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 应用脚本幻灯片创建:
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
.
我也尝试了 运行 我的变量 PageID
和函数并且它工作得很好但是我仍然无法将 pageID
传递到我的 var = slide
.
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
);
}
}
}