Ich bin daran interessiert, Tabellen in Google Tabellen programmgesteuert zu erstellen. Eine meiner Anforderungen ist, dass ich Entwickler-Metadaten, die mit Spalten in der Tabelle verknüpft sind, schreiben und lesen kann.Das Erstellen einer Google Tabellenkalkulation mit Metadaten mithilfe der API scheint die Metadatensätze nicht zu erstellen.
Ich habe derzeit Probleme mit der Erstellung von Entwicklermetadaten - entweder auf Tabellenkalkulationsebene oder in Verbindung mit einem bestimmten Teil des Blattes. Wenn ich die Anforderung zum Erstellen einer neuen Kalkulationstabelle senden, erhalte ich eine erfolgreiche Antwort, die das resultierende Kalkulationstabellenobjekt wie erwartet zurückgibt. Das Objekt, das von dieser Anforderung zurückgegeben wird, enthält jedoch keine Metadatenobjekte (wie in der API-Dokumentation vorgeschlagen). Das Festlegen einer expliziten Metadaten-ID für den Metadateneintrag und das anschließende Abrufen der Metadaten scheint ebenfalls nicht zu funktionieren (siehe unten).
Hier ist die JSON Körper Nutzlast ich mit der Anfrage zu senden sind (ich war, das Google-API-Explorer zuletzt mit, als auch die Anforderung, die er von meinem Code zu isolieren):
{
"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
}
]
}
Diese Anfrage erhält eine 200 und gibt ein Tabellenobjekt zurück, dem Entwicklermetadaten fehlen, wie zuvor erwähnt. Die Tabelle wird wie beschrieben erstellt und ist über die Benutzeroberfläche zugänglich.
Ich vermutete, dass die Antwort nur die Metadaten nicht enthalten, trotz der Dokumentation. Wenn jedoch eine GET-Anforderung für die Metadaten-ID oben machen, erhalte ich die folgende Antwort:
{
"error": {
"code": 404,
"message": "No developer metadata with ID 12345.",
"status": "NOT_FOUND"
}
}
WUT DO I TUT?
Vielen Dank für Ihren Vorschlag! Am Ende ging ich die Sache anders an und vermied es, Sheet-Metadaten vollständig zu verwenden. Wenn ich in Zukunft Metadaten verwenden muss, ist das sehr hilfreich! –