在创建请求中创建一个填充颜色的形状

问题描述

如何使用 Google Slides API 创建红色矩形?以下代码不起作用:

  var requests = [{
    createShape: {
      objectId: elementId,shapeType: 'RECTANGLE',shapeProperties: {
        shapeBackgroundFill: {
          solidFill: {
            color: {
              "themeColor": "Red"
            }
          }
        }
      },elementProperties: {
        pageObjectId: 'gc448bf14e8_0_0',size: {
          height: pt150,width: pt150
        },transform: {
          scaleX: 1,scaleY: 1,translateX: 150,translateY: 100,unit: 'PT'
        }
      }
    }
  },

GoogleJsonResponseException:对 slides.presentations.batchUpdate 的 API 调用失败,错误为:收到无效的 JSON 负载。 “requests[0].create_shape”中的未知名称“shapeProperties”:找不到字段。

这个资源想要改变形状,我想把它放到原始请求对象中。 Change background of google slides shape to red

查看此 Google 资源:https://developers.google.com/slides/reference/rest/v1/presentations.pages/shapes

解决方法

目前 createshaperequest 的 API 没有 shapeProperties。只有 updateShapeProperties 拥有它。

我提出了两个请求,

var requests2 = [{
  updateShapeProperties: {
    objectId: elementId,fields: "shapeBackgroundFill.solidFill.color",shapeProperties: {
      shapeBackgroundFill: {
        solidFill: {
          color: {
            rgbColor: 
            {
               red: 0.6,green: 0.0,blue: 0.0
            }
          }
        }
      }
    }
   }
 }];

https://developers.google.com/slides/reference/rest/v1/presentations/request#createshaperequest

https://developers.google.com/slides/reference/rest/v1/presentations/request#UpdateShapePropertiesRequest

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...