Inserisci immagine da Google Drive in Fogli Google


11

Come posso inserire / collegare immagini esistenti in una cartella in Google Drive in un foglio di calcolo di Fogli Google?

C'è la funzione image (), immagino di usarla in questo modo:

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

Come?

Aggiornamento: alcune persone hanno notato che caricando le immagini su Picasa, possiamo quindi ottenere l'URL di ogni immagine e utilizzarlo. Funziona. L'aspetto negativo di questo è che dobbiamo copiare ogni URL di tutte le immagini. L'ho messo in un foglio separato, quindi uso VLOOKUP per ottenere ogni URL di immagine per indice. Funziona ma la parte della copia di URL è un lavoro infernale se hai molte immagini, ovviamente. È necessaria una soluzione migliore.

Risposte:


5

Risposta breve

Sebbene sia possibile utilizzare i file archiviati in Google Drive come risorse del sito Web in questo momento non è ufficialmente supportato e non dovrebbe essere utilizzato per siti Web e fogli di calcolo che hanno una durata oltre il 31 agosto 2016.

Come è stato menzionato da AE I nella sua risposta a una domanda correlata, l'uso di https://docs.google.com/uc?export=view&id=FILE_IDnon è documentato e potrebbe smettere di funzionare in qualsiasi momento senza preavviso ufficiale, ma in questo momento (febbraio 2019) funziona ancora.

Spiegazione

Le istruzioni per pubblicare i file di Google Drive come contenuto del sito Web sono in Pubblica contenuto del sito Web - API REST di Google Drive ma in base al supporto dell'hosting Web in Google Drive obsoleto - Blog degli sviluppatori di Google Apps

A partire dal 31 agosto 2015, l'hosting web in Google Drive per utenti e sviluppatori sarà deprecato. Puoi continuare a utilizzare questa funzione per un periodo di un anno fino al 31 agosto 2016, quando interromperemo la pubblicazione di contenuti tramite googledrive.com/host/[doc id].


4

Ho creato uno script a due righe per utilizzare il link di condivisione di un'immagine in Google Drive.

  1. Vai su Strumenti> Editor di script.
  2. Copia, incolla il seguente codice
  3. Fare clic su Esegui per l'autorizzazione

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

Usando lo script:

  1. Copia il link di condivisione della tua immagine in Google Drive.
  2. Vai in una cella
  3. Inserisci la formula

    =IMAGE(DRIVE_IMAGE("COPIED_LINK"))
    

Questo script non funziona - l'errore è "TypeError: impossibile chiamare il metodo" sostituire "non definito. (Riga 3, file" Codice ")" (Mi dispiace, lo scripting è un po 'magico per me, quindi non posso offrire molto di più su questa volta)
cduston,

@cduston Hai seguito i passaggi?
Rubén,

Ottenere lo stesso errore di @cduston
Vikram Garg il

3
  1. Devi creare un foglio di calcolo.
  2. Quindi vai su strumenti> editor di script.
  3. È possibile tagliare / incollare lo script seguente sostituendo tutti i contenuti inseriti per impostazione predefinita.
  4. Dovrai aggiungere il tuo ID cartella dove dice THIS_SHOULD_BE_YOUR_FOLDER_ID (lasciare le virgolette).
  5. Salvarlo.
  6. Premi il pulsante play / run
  7. Dovrai concedere l'autorizzazione per l'esecuzione quando richiesto.

Questo dovrebbe farlo. Esempio funzionante di output qui .

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



    };
};

3
Potrei aver risposto troppo :) - L'URL sarebbehttps://docs.google.com/uc?export=download&id=FILE_ID
Tom Woodward il

Vedi la risposta di @AEI -> webapps.stackexchange.com/a/89112/88163
Rubén

2

Il modo migliore e semplice per gestirlo è utilizzare la formula sostitutiva e avere due colonne qui è la spiegazione di seguito:

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"))

Spiegazione Ciò convertirà il file di immagine indiretta dell'immagine di Google in collegamento diretto e fornirà il risultato dell'immagine come desiderato.

Immagine dello schermo:

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine


1

Puoi farlo collegandoti all'URL di un disegno Google, i seguenti passaggi:

  1. Crea un nuovo disegno in Google Drive (fai clic con il pulsante destro del mouse in qualsiasi cartella di Google Drive, "Altro", "Disegno")
  2. incolla la tua immagine lì dentro
  3. File -> Publish to web -> As Link, Inizia a pubblicare
  4. Copia l'URL fornito e vai alla cella di Google Sheet che desideri inserire
  5. =image("URL you copied")

Duplica i dati, quindi non stai collegando all'immagine reale ma a un disegno Google che ha una copia dell'immagine. Chiunque può accedere a quel collegamento e scaricare in uno dei formati supportati (JPEG, PNG, SVG o PDF).


Un salvavita, grazie!
post_ahead

0

Ho preso la risposta di cui sopra (Zeeshan) e l'ho combinata in una cella.

Inserisci questo nella cella:

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

Sostituisci "https://drive.google.com/open?id=1cmtBYSbobv3FYpKKBCPvS"con il tuo "link condivisibile"

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.