我有兴趣以编程方式在Google表格中创建电子表格。我的一个要求是,我将能够写入和读取与电子表格中的列相关联的开发人员元数据。
我目前在创建开发人员元数据时遇到问题 - 无论是电子表格级别还是与工作表的特定部分相关联。当我将请求发送到create
新的电子表格时,我收到了成功的回复,以及创建的电子表格的元数据对象。但是,从此请求返回的对象不包含任何元数据对象(如API文档所示)。
为元数据条目设置显式元数据ID,然后尝试检索它也似乎不起作用(如下所示)。
以下是我一直使用请求发送的JSON有效负载(我最近也使用Google APIs Explorer发送了请求,以便将其与我的代码隔离开来):
{
"properties": {
"title": "test 6:19 with sheet metadata"
},
"sheets": [
{
"properties": {
"sheetId": 0,
"title": "Sheet1",
"index": 0,
"sheetType": "GRID",
"gridProperties": {
"rowCount": 2,
"columnCount": 2
}
},
"data": [REMOVED_FOR_SPACE],
"developerMetadata": [
{
"location": {
"spreadsheet": true,
"locationType": "SPREADSHEET"
},
"metadataKey": "questionId",
"metadataValue": "12345",
"visibility": "DOCUMENT",
"metadataId": 12345
}
]
}
此请求收到200,并返回缺少任何开发人员元数据的电子表格对象,如前所述。电子表格按照描述创建,并可通过UI访问。
我怀疑响应可能不包括元数据,尽管有文档。但是,如果我在电子表格中查询上面的元数据ID,我会收到以下回复:
{
"error": {
"code": 404,
"message": "No developer metadata with ID 12345.",
"status": "NOT_FOUND"
}
}
答案 0 :(得分:3)
我遇到了同样的问题,我完全放弃了。后来,我尝试了电子表格下提供的“batchUpdate”API。 “Requests”下的“kind”字段之一取值 - createDeveloperMetadata 。
它需要CreateDeveloperMetadataRequest对象,其结构与您在创建电子表格时尝试提供的结构相同。
在使用随机整数作为元数据ID执行此操作时,我得到了200 Response
。此外,在开发人员元数据上执行GET
,它返回了正确的响应!
希望这有帮助。