Ligando um slide Google a um Google Doc usando API

votos
0

Eu preciso adicionar um desenho do Google a um Google Doc e eu gostaria de saber se isso é possível usando a API.

Eu tenho sido capaz de modificar o desenho usando o API Slides (ver código abaixo), mas eu não sou capaz de ligar este Deslize para o Google Doc.


function logSlidesAndElements() {
    var presentationId = 'id_id_id_id_id_...';
    var presentation = Slides.Presentations.get(presentationId);
    var slides = presentation.slides;
    Logger.log('The presentation contains %s slides:', slides.length);
    for (i = 0; i < slides.length; i++) {
        Logger.log(
            '- Slide # %s contains %s elements.',
            i + 1,
            slides[i].pageElements.length);
    }

    // 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);

}

Vejo que há uma lista de inlineObjects dentro do corpo do documento [1] e se eu adicionar um slide ligado manualmente (copiar e colar de uma apresentação do Google para o Google doc) para o Google Doc e imprimir o objeto documento com código abaixo


var document = Docs.Documents.get(doc_id);
var docElements = document;
console.log(docElements);

o que eu vejo é (apenas a parte relevante)

kix.l46ge8x1m={ 
      ...
      inlineObjectProperties={ 
            linkedContentReference={ 

            },
            imageProperties={ 
               cropProperties={ 

               },
               contentUri=https://lh6.googleusercontent.com/really_long_id_to_the_generated_image_from_the_slide
            }

      ...
      },
      objectId=kix.l46ge8x1m
   }

Há um link para uma imagem gerada a partir do desenho, mas eu não vejo qualquer coisa relacionada ao slide ligados. Eu esperaria ver algo dentro do linkedContentReference mas está vazia, então eu não tenho certeza se é possível ligar o slide gerado ao Doc.

[1] https://developers.google.com/docs/api/reference/rest/v1/documents

Publicado 10/10/2019 em 00:59
fonte usuário
Em outras línguas...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more