Masukkan gambar dari Google Drive ke Google Sheets

11

Bagaimana cara saya menyisipkan / menautkan ke gambar yang ada di folder di Google Drive ke dalam spreadsheet Google Sheets?

Ada fungsi image (), saya membayangkan menggunakannya seperti ini:

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

Bagaimana?

Pembaruan: Beberapa orang mencatat bahwa dengan mengunggah gambar ke Picasa, kita dapat memperoleh URL setiap gambar dan menggunakannya. Berhasil. Kelemahan dari ini adalah bahwa kita harus menyalin setiap URL dari semua gambar. Saya meletakkannya di lembar terpisah, lalu menggunakan VLOOKUP untuk mendapatkan setiap URL gambar per indeks. Ini berfungsi tetapi bagian penyalinan URL adalah pekerjaan berat jika Anda memiliki banyak gambar tentu saja. Diperlukan solusi yang lebih baik.

Jonny
sumber

Jawaban:

5

Jawaban singkat

Meskipun dimungkinkan untuk menggunakan file yang disimpan di Google Drive sebagai sumber daya situs web saat ini, itu tidak didukung secara resmi dan tidak boleh digunakan untuk situs web dan spreadsheet yang memiliki masa pakai lebih dari 31 Agustus 2016.

Seperti yang disebutkan oleh AE I dalam menjawab pertanyaan terkait, penggunaan https://docs.google.com/uc?export=view&id=FILE_IDtidak didokumentasikan dan dapat berhenti bekerja kapan saja tanpa pemberitahuan resmi sebelumnya tetapi pada saat ini (Februari, 2019) masih berfungsi.

Penjelasan

Instruksi untuk mempublikasikan file Google Drive sebagai konten situs web ada di Publish Konten Situs Web - Google Drive REST API tetapi sesuai dengan dukungan hosting web yang tidak berlaku di Google Drive - Blog Pengembang Google Apps

Mulai 31 Agustus 2015, hosting web di Google Drive untuk pengguna dan pengembang akan dihentikan. Anda dapat terus menggunakan fitur ini selama satu tahun hingga 31 Agustus 2016, ketika kami akan menghentikan penyajian konten melalui googledrive.com/host/[doc].

Rubén
sumber
4

Saya membuat skrip dua baris untuk menggunakan tautan berbagi gambar di Google Drive.

  1. Buka Alat> Editor skrip.
  2. Salin, rekatkan kode berikut
  3. Klik di jalankan untuk izin

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

Menggunakan skrip:

  1. Salin tautan bagi-pakai gambar Anda di Google Drive.
  2. Pergi ke sel
  3. Masukkan formula

    =IMAGE(DRIVE_IMAGE("COPIED_LINK"))
    
Bhacaz
sumber
Skrip ini tidak berfungsi - kesalahannya adalah "TypeError: Tidak dapat memanggil metode" ganti "dari yang tidak terdefinisi. (Baris 3, ajukan" Kode ")" (Maaf, skrip adalah jenis keajaiban bagi saya, jadi saya tidak bisa menawarkan lebih banyak di kali ini)
cduston
@cduston Sudahkah Anda mengikuti langkah-langkah ini?
Rubén
Mendapatkan kesalahan yang sama dengan @cduston
Vikram Garg
3
  1. Anda harus membuat spreadsheet.
  2. Lalu pergi ke alat> editor skrip.
  3. Anda dapat memotong / menempelkan skrip di bawah ini dengan mengganti semua konten yang dimasukkan secara default.
  4. Anda harus menambahkan ID folder Anda yang bertuliskan THIS_SHOULD_BE_YOUR_FOLDER_ID (tinggalkan tanda kutip).
  5. Simpan itu.
  6. Tekan tombol play / run
  7. Anda harus memberikan izin untuk menjalankannya saat diminta.

Itu harus dilakukan. Contoh output yang berfungsi di sini .

/* 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
sumber
3
Saya mungkin telah menjawab lebih dari :) - URL akanhttps://docs.google.com/uc?export=download&id=FILE_ID
Tom Woodward
Lihat jawaban dari @AEI -> webapps.stackexchange.com/a/89112/88163
Rubén
2

Cara terbaik dan mudah untuk menangani ini adalah dengan menggunakan formula pengganti dan memiliki dua kolom di sini adalah penjelasan di bawah ini:

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

Penjelasan ini akan mengubah file gambar tidak langsung gambar google menjadi tautan langsung dan memberikan hasil gambar seperti yang Anda inginkan.

Tangkapan layar:

masukkan deskripsi gambar di sini

masukkan deskripsi gambar di sini

Zeeshan Sangani
sumber
1

Anda dapat melakukan ini dengan menautkan ke URL Gambar Google, langkah-langkah di bawah ini:

  1. Buat gambar baru di Google Drive (klik kanan di folder mana pun di Google Drive, "Lainnya", "Gambar")
  2. rekatkan gambar Anda di sana
  3. File -> Publish to web -> As Link, Mulai Penerbitan
  4. Salin URL yang disediakan dan buka sel Google Sheet yang ingin Anda masukkan
  5. =image("URL you copied")

Itu duplikat data, jadi Anda tidak menautkan ke gambar yang sebenarnya tetapi ke Google Drawing yang memiliki salinan gambar. Siapa pun dapat pergi ke tautan itu dan mengunduh dalam format apa pun yang didukung (JPEG, PNG, SVG, atau PDF).

pengguna34612
sumber
Seorang penyelamat, terima kasih!
post_ahead
0

Saya mengambil jawaban di atas dari (Zeeshan) dan menggabungkannya menjadi satu sel.

Masukkan ini ke dalam sel:

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

Ganti "https://drive.google.com/open?id=1cmtBYSbobv3FYpKKBCPvS"dengan "Tautan yang Dapat Dibagikan" Anda

LaPorte
sumber