Google Drive'dan Google E-Tablolar'a resim ekle


11

Google Drive'daki bir klasörde bulunan resimleri bir Google E-Tablolar e-tablosuna nasıl ekler / bağlarım?

İmage () işlevi var, böyle bir şey kullanmayı hayal ediyorum:

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

Nasıl?

Güncelleme: Bazı kişiler Picasa'ya resim yükleyerek, her bir resmin URL'sini alabileceğimizi ve bunu kullanabileceğimizi belirtti. İşe yarıyor. Bunun dezavantajı, tüm görüntülerin her bir URL'sini kopyalamamız gerektiğidir. Bunu ayrı bir sayfaya koydum, sonra dizin başına her resim URL'sini almak için DÜŞEYARA'yı kullanıyorum. Çalışır, ancak URL kopyalama bölümü elbette çok fazla resminiz varsa bir iş cehennemidir. Daha iyi bir çözüme ihtiyaç vardır.

Yanıtlar:


5

Kısa cevap

Google Drive'da depolanan dosyaları şu anda web sitesi kaynakları olarak kullanmak mümkün olsa da, resmi olarak desteklenmemektedir ve 31 Ağustos 2016'dan daha uzun bir ömrü olan web siteleri ve e-tablolar için kullanılmamalıdır .

AE I tarafından ilgili bir soruya cevabında belirtildiği gibi, kullanımı https://docs.google.com/uc?export=view&id=FILE_IDbelgelenmemiştir ve önceki resmi bildirim olmadan herhangi bir zamanda çalışmayı durdurabilir, ancak şu anda (Şubat, 2019) hala çalışmaktadır.

açıklama

Google Drive dosyalarını web sitesi içeriği olarak yayınlama talimatları Web Sitesi İçeriğini Yayınlama - Google Drive REST API'sındadır, ancak Google Drive'daki web barındırma desteğinden vazgeçme - Google Apps Geliştirici Blogu

31 Ağustos 2015'ten itibaren, Google Drive'da kullanıcılar ve geliştiriciler için web barındırma hizmeti kullanımdan kaldırılacak. Bu özelliği, googledrive.com/host/[doc id] yoluyla içerik sunmayı bırakacağımız 31 Ağustos 2016 tarihine kadar bir yıl boyunca kullanmaya devam edebilirsiniz.


4

Google Drive'da bir resmin paylaşım bağlantısını kullanmak için iki satırlı bir komut dosyası hazırladım.

  1. Araçlar> Kod düzenleyici'ye gidin.
  2. Aşağıdaki kodu kopyalayın, yapıştırın
  3. İzin için çalıştır'a tıklayın

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

Komut dosyasını kullanarak:

  1. Resminizin paylaşım bağlantısını Google Drive'a kopyalayın.
  2. Bir hücreye git
  3. Formülü girin

    =IMAGE(DRIVE_IMAGE("COPIED_LINK"))
    

Bu komut dosyası çalışmıyor - hata "TypeError: undefined işlevinin" replace "yöntemini çağıramıyor. (Satır 3, dosya" Kod ")" (Üzgünüm, komut dosyası benim için biraz sihir, bu yüzden daha fazlasını sunamıyorum) bu sefer)
cduston

@cduston Adımları takip ettiniz mi?
Rubén

@Cduston ile aynı hatayı alıyorum
Vikram Garg

3
  1. Bir e-tablo oluşturmanız gerekir.
  2. Ardından araçlar> komut dosyası düzenleyicisine gidin.
  3. Varsayılan olarak yerleştirilen tüm içeriği değiştirerek aşağıdaki komut dosyasını kesebilir / yapıştırabilirsiniz.
  4. Klasör kimliğinizi THIS_SHOULD_BE_YOUR_FOLDER_ID yazdığı yere eklemeniz gerekir (tırnak işaretlerini bırakın).
  5. Kaydet.
  6. Oynat / çalıştır düğmesine basın
  7. İstendiğinde çalışmasına izin vermeniz gerekir.

Bunu yapmalı. Burada çıktı çalışma örneği .

/* 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
Ben fazla cevap var olabilir :) - URL olurduhttps://docs.google.com/uc?export=download&id=FILE_ID
Tom Woodward


2

Bunu halletmenin en iyi ve kolay yolu, ikame formül kullanmak ve burada iki sütun bulundurmak aşağıdaki açıklamadır:

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

Açıklama bu, google görüntü dolaylı görüntü dosyasını doğrudan bağlantıya dönüştürecek ve görüntü sonucunu istediğiniz gibi verecektir.

Ekran görüntüsü:

resim açıklamasını buraya girin

resim açıklamasını buraya girin


1

Bunu, bir Google Çizim'in URL'sine bağlayarak yapabilirsiniz, aşağıdaki adımlar:

  1. Google Drive'da yeni bir çizim oluşturun (Google Drive'daki herhangi bir klasörü sağ tıklayın, "Diğer", "Çizim")
  2. resmini oraya yapıştır
  3. File -> Publish to web -> As Link, Yayınlamaya Başla
  4. Sağlanan URL'yi kopyalayın ve eklemek istediğiniz Google Sheet hücresine gidin
  5. =image("URL you copied")

Verileri çoğaltır, bu nedenle gerçek resme değil, resmin bir kopyasına sahip bir Google Çizim'e bağlanırsınız. Herkes bu bağlantıya gidip desteklenen biçimlerden herhangi birinde (JPEG, PNG, SVG veya PDF) indirebilir.


Hayat kurtarıcı, teşekkürler!
post_ahead

0

Yukarıdaki cevabı (Zeeshan) 'dan aldım ve tek bir hücrede birleştirdim.

Bunu hücreye girin:

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

"https://drive.google.com/open?id=1cmtBYSbobv3FYpKKBCPvS""Paylaşılabilir Bağlantınız" ile değiştirin

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.