Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 错误:在'处的值无效;请求[0]';(一个),一个字段';种类';已经设置好了。无法设置';createShape';_Javascript_Node.js_Google Slides Api - Fatal编程技术网

Javascript 错误:在'处的值无效;请求[0]';(一个),一个字段';种类';已经设置好了。无法设置';createShape';

Javascript 错误:在'处的值无效;请求[0]';(一个),一个字段';种类';已经设置好了。无法设置';createShape';,javascript,node.js,google-slides-api,Javascript,Node.js,Google Slides Api,我正在使用谷歌幻灯片API,并试图根据用户输入的文本制作一张幻灯片。这是我的文本创建功能 var num = 1; function createSlide(auth) { //AUTHENTICATION const slides = google.slides({version: 'v1', auth}); //CHANGING VARS var slideId = 'slide_' + num; var pageId = slideId;;

我正在使用谷歌幻灯片API,并试图根据用户输入的文本制作一张幻灯片。这是我的文本创建功能

var num = 1;
function createSlide(auth) {
    //AUTHENTICATION
    const slides = google.slides({version: 'v1', auth});

    //CHANGING VARS
    var slideId = 'slide_' + num;
    var pageId = slideId;;  
    var textId = 'text_box_' + num;
    var elementId = textId;
    var iIndex = num; 
    //SIZING
    var pt350 = {
        magnitude: 350,
        unit: 'PT',
    };   
    //ALL REQUESTS GO IN requests
    var requests = [{
        createSlide: {
            insertionIndex: iIndex,
            objectId: pageId,
            slideLayoutReference: {
                predefinedLayout: 'BLANK'
            }
        },
        //CREATE THE TEXTBOX
        createShape: {
          objectId: elementId,
          shapeType: 'TEXT_BOX',
          elementProperties: {
            pageObjectId: pageId,
            size: {
              height: pt350,
              width: pt350,
            },
            transform: {
              scaleX: 1,
              scaleY: 1,
              translateX: 350,
              translateY: 100,
              unit: 'PT',
            },
          },
        },
      },
      //INSERT TEXT
      {
        insertText: {
          objectId: elementId,
          insertionIndex: iIndex,
          text: txt,
        },
    }];
    //BATCH UPDATE
    return slides.presentations.batchUpdate({
        presentationId,
        resource: {
            requests,
        },
    }, (err, res) => {
        if (err) {
            error(err);
        }else{
            console.log('Success'); 
            //INCREASES COUNTER BY 1
            num = num + 1;
            //ASKS IF A NEW SLIDE WANTS TO BE CREATED
            askYOrN ();}});}
它会产生这样的错误:

错误:“请求[0]”(其中一个)处的值无效,已设置字段“种类”中的一个。无法设置“createShape”


文本输入和存储正确。有人有解决办法吗?提前谢谢。

这次修改怎么样

修改点:
  • createSlide
    createShape
    insertText
    放入
    请求数组中的每个元素
  • insertionIndex
    at
    insertText
    从0开始
修改脚本: 请修改
请求
,如下所示

var requests = [
  {
    createSlide: {
      insertionIndex: iIndex,
      objectId: pageId,
      slideLayoutReference: {
        predefinedLayout: 'BLANK',
      },
    },
  },
  {
    //CREATE THE TEXTBOX
    createShape: {
      objectId: elementId,
      shapeType: 'TEXT_BOX',
      elementProperties: {
        pageObjectId: pageId,
        size: {
          height: pt350,
          width: pt350,
        },
        transform: {
          scaleX: 1,
          scaleY: 1,
          translateX: 350,
          translateY: 100,
          unit: 'PT',
        },
      },
    },
  },
  {
    //INSERT TEXT
    insertText: {
      objectId: elementId,
      insertionIndex: iIndex - 1,
      text: txt,
    },
  }
];
注:
  • 此修改后的脚本假定已启用幻灯片API,并且
    https://www.googleapis.com/auth/presentations
    包含在范围中
参考资料:

如果这不是你想要的,我很抱歉。

@Arkin Solomon很高兴你的问题得到了解决。也谢谢你。