Inserir imagem do Google Drive no Planilhas Google

11

Como insiro / vinculo as imagens existentes em uma pasta no Google Drive em uma planilha do Google Sheets?

Existe a função image (), imagino usá-lo algo como isto:

image("googledrive://somefodleringoogledrivewithmypics/pic_1.png")

Quão?

Atualização: algumas pessoas observaram que, ao enviar fotos para o Picasa, podemos obter o URL de cada foto e usá-lo. Funciona. A desvantagem disso é que temos que copiar todos os URLs de todas as imagens. Coloquei isso em uma planilha separada e use o VLOOKUP para obter cada URL da imagem por índice. Funciona, mas a parte de copiar URL é um trabalho e tanto, se você tiver muitas imagens, é claro. É necessária uma solução melhor.

Jonny
fonte

Respostas:

5

Resposta curta

Embora seja possível usar arquivos armazenados no Google Drive como recursos do site no momento, ele não é oficialmente suportado e não deve ser usado para sites e planilhas com vida útil posterior a 31 de agosto de 2016.

Como foi mencionado por AE I em sua resposta a uma pergunta relacionada, o uso de https://docs.google.com/uc?export=view&id=FILE_IDnão está documentado e pode parar de funcionar a qualquer momento sem aviso prévio oficial, mas neste momento (fevereiro de 2019) ainda funciona.

Explicação

As instruções para publicar arquivos do Google Drive como conteúdo do site estão em Publicar conteúdo do site - API REST do Google Drive, mas de acordo com a suspensão do uso da hospedagem na Web no Google Drive - Blog do desenvolvedor do Google Apps

A partir de 31 de agosto de 2015, a hospedagem na web no Google Drive para usuários e desenvolvedores será descontinuada. Você pode continuar usando esse recurso por um período de um ano até 31 de agosto de 2016, quando interromperemos a veiculação de conteúdo via googledrive.com/host/[doc id].

Rubén
fonte
4

Criei um script de duas linhas para usar o link de compartilhamento de uma imagem no Google Drive.

  1. Vá para Ferramentas> Editor de scripts.
  2. Copie, cole o seguinte código
  3. Clique em executar para obter permissão

    function DRIVE_IMAGE(link){
        prefix_url = "https://docs.google.com/uc?export=download&";
        link.replace("open?", "uc?export=download&");
    }
    

Usando o script:

  1. Copie o link de compartilhamento da sua imagem no Google Drive.
  2. Ir para uma célula
  3. Digite a fórmula

    =IMAGE(DRIVE_IMAGE("COPIED_LINK"))
    
Bhacaz
fonte
Este script não funciona - o erro é "TypeError: Não é possível chamar o método" substituir "de indefinido. (Linha 3, arquivo" Código ")" (Desculpe, o script é um tipo de mágica para mim, por isso não posso oferecer muito mais em desta vez)
cduston
@cduston Você seguiu os passos?
Rubén
Obtendo o mesmo erro que @cduston
Vikram Garg
3
  1. Você precisará fazer uma planilha.
  2. Em seguida, vá para ferramentas> editor de scripts.
  3. Você pode recortar / colar o script abaixo, substituindo todo o conteúdo inserido por padrão.
  4. Você precisará adicionar o ID da pasta onde está THIS_SHOULD_BE_YOUR_FOLDER_ID (deixe as aspas).
  5. Salve isso.
  6. Aperte o botão play / run
  7. Você precisará dar permissão para executar quando solicitado.

Isso deve resolver. Exemplo de trabalho de saída aqui .

/* modified from @hubgit and http://stackoverflow.com/questions/30328636/google-apps-script-count-files-in-folder 
for this stackexchange question http://webapps.stackexchange.com/questions/86081/insert-image-from-google-drive-into-google-sheets by @twoodwar
*/
function listFilesInFolder(folderName) {

   var sheet = SpreadsheetApp.getActiveSheet();
   sheet.appendRow(["Name", "Date", "Size", "URL", "Download", "Description", "Image"]);


//change the folder ID below to reflect your folder's ID (look in the URL when you're in your folder)
    var folder = DriveApp.getFolderById("THIS_SHOULD_BE_YOUR_FOLDER_ID");
    var contents = folder.getFiles();

    var cnt = 0;
    var file;

    while (contents.hasNext()) {
        var file = contents.next();
        cnt++;

           data = [
                file.getName(),
                file.getDateCreated(),
                file.getSize(),
                file.getUrl(),
                "https://docs.google.com/uc?export=download&confirm=no_antivirus&id=" + file.getId(),
                file.getDescription(),
                "=image(\"https://docs.google.com/uc?export=download&id=" + file.getId() +"\")",
            ];

            sheet.appendRow(data);



    };
};
Tom Woodward
fonte
3
Eu possa ter sobre respondeu :) - URL seriahttps://docs.google.com/uc?export=download&id=FILE_ID
Tom Woodward
Veja a resposta de @AEI -> webapps.stackexchange.com/a/89112/88163
Rubén
2

A melhor e mais fácil maneira de lidar com isso é usar a fórmula substituta e ter duas colunas aqui é a explicação abaixo:

Column A5: just put google drive image shareable link e.g.
"https://drive.google.com/open?id=1CfUnvGGdt96irA419HnU0BvRafD4F_os"

Column B5: use the combination of two formula image and substitute like this:
=image(substitute(A5,"open?id","uc?export=download&id"))

Explicação: isso converterá o arquivo de imagem indireta da imagem do google em link direto e fornecerá o resultado da imagem como você desejar.

Captura de tela:

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Zeeshan Sangani
fonte
1

Você pode fazer isso vinculando ao URL de um desenho do Google, etapas abaixo:

  1. Crie um novo desenho no Google Drive (clique com o botão direito do mouse em qualquer pasta do Google Drive, "Mais", "Desenho")
  2. cole sua imagem lá
  3. File -> Publish to web -> As Link, Comece a publicar
  4. Copie o URL fornecido e vá para a célula do Google Sheet que você deseja inserir
  5. =image("URL you copied")

Ele duplica os dados, portanto você não está vinculando à imagem real, mas a um Desenho do Google que possui uma cópia da imagem. Qualquer pessoa pode acessar o link e fazer o download em qualquer um dos formatos suportados (JPEG, PNG, SVG ou PDF).

user34612
fonte
Um salva-vidas, obrigado!
22619 post -ahead
0

Peguei a resposta acima de (Zeeshan) e a combinei em uma célula.

Digite isso na célula:

=image(substitute("https://drive.google.com/open?id=1cmtBYSbobv3FYpKKBCPvS","open?id","uc?export=download&id"))

Substitua "https://drive.google.com/open?id=1cmtBYSbobv3FYpKKBCPvS"por seu "Link compartilhável"

LaPorte
fonte