Мне нужно добавить чертеж Google в Документ Google, и я хотел бы знать, возможно ли это с помощью API.
Мне удалось изменить чертеж с помощью API слайдов (см. Код ниже) но я не могу связать этот слайд с документом Google.
function logSlidesAndElements() {
var presentationId = 'id_id_id_id_id_...';
var presentation = Slides.Presentations.get(presentationId);
var slides = presentation.slides;
// Log the elements in the slide
for (var i = 0; i < slides[0].pageElements.length; i++) {
if (slides[1].pageElements[i]['shape']['shapeType'] == 'TEXT_BOX') {
Logger.log(i);
Logger.log(slides[1].pageElements[i]['objectId']);
Logger.log(slides[1].pageElements[i]['shape']['text']['textElements'][1]['textRun']['content']);
}
}
// Modify one of the elements
var requests = [{
updateShapeProperties: {
objectId: slides[1].pageElements[8]['objectId'],
fields: 'shapeBackgroundFill.solidFill.color',
shapeProperties: {
shapeBackgroundFill: {
solidFill: {
color: green_application_map
}
}
}
}
}];
var batchUpdateResponse = Slides.Presentations.batchUpdate({
requests: requests
}, presentationId);
}
Я вижу, что в теле документа есть список inlineObjects [1], и если я добавляю связанный слайд вручную (скопируйтеи вставьте слайды Google в документ Google) в документ Google и распечатайте объект документа с кодом ниже
var document = Docs.Documents.get(doc_id);
var docElements = document;
console.log(docElements);
То, что я вижу (только соответствующая часть):
kix.l46ge8x1m={
...
inlineObjectProperties={
linkedContentReference={
},
imageProperties={
cropProperties={
},
contentUri=https://lh6.googleusercontent.com/really_long_id_to_the_generated_image_from_the_slide
}
...
},
objectId=kix.l46ge8x1m
}
Существует ссылка на изображение, созданное на чертеже, но я не вижу ничего, связанного со связанным слайдом.
Я ожидаю увидеть что-то внутри connectedContentReference , но оно пустое, поэтому я не уверен, возможно ли связать сгенерированный слайд (и чертеж) с документом.
[1] https://developers.google.com/docs/api/reference/rest/v1/documents