Wstaw obraz z Dysku Google do Arkuszy Google


11

Jak wstawić / połączyć obrazy znajdujące się w folderze na Dysku Google do arkusza kalkulacyjnego Arkuszy Google?

Istnieje funkcja image (), wyobrażam sobie, że mogę z niej korzystać w następujący sposób:

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

W jaki sposób?

Aktualizacja: niektóre osoby zauważyły, że przesyłając zdjęcia do Picasy, możemy uzyskać adres URL każdego zdjęcia i użyć go. To działa. Minusem tego jest to, że musimy skopiować każdy adres URL wszystkich obrazów. Umieszczam to w osobnym arkuszu, a następnie używam WYSZUKAJ.PIONOWO, aby uzyskać adres URL każdego obrazu na indeks. Działa, ale część do kopiowania adresów URL jest naprawdę świetna, jeśli masz dużo zdjęć. Potrzebne jest lepsze rozwiązanie.

Odpowiedzi:


5

Krótka odpowiedź

Chociaż pliki przechowywane na Dysku Google są obecnie dostępne jako zasoby witryny, nie są one oficjalnie obsługiwane i nie należy ich używać w witrynach i arkuszach kalkulacyjnych , których okres użytkowania przekracza 31 sierpnia 2016 r.

Jak wspomniał AE I w odpowiedzi na powiązane pytanie, użycie https://docs.google.com/uc?export=view&id=FILE_IDnie jest udokumentowane i może przestać działać w dowolnym momencie bez wcześniejszego oficjalnego powiadomienia, ale w tej chwili (luty 2019 r.) Nadal działa.

Wyjaśnienie

Instrukcje publikowania plików z Dysku Google jako treści witryny znajdują się w Publikuj treść witryny - Interfejs API REST Google Drive, ale zgodnie z przestarzałą obsługą hostingu na Dysku Google - Blog deweloperów Google Apps

Od 31 sierpnia 2015 r. Hosting na Dysku Google dla użytkowników i programistów będzie przestarzały. Możesz nadal korzystać z tej funkcji przez okres jednego roku do 31 sierpnia 2016 r., Kiedy to zaprzestaniemy udostępniania treści za pośrednictwem googledrive.com/host/[doc id].


4

Stworzyłem skrypt dwuwierszowy, aby użyć linku udostępniania obrazu na Dysku Google.

  1. Przejdź do Narzędzia> Edytor skryptów.
  2. Skopiuj i wklej następujący kod
  3. Kliknij Uruchom, aby uzyskać pozwolenie

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

Za pomocą skryptu:

  1. Skopiuj link udostępniania swojego obrazu na Dysku Google.
  2. Idź do celi
  3. Wprowadź formułę

    =IMAGE(DRIVE_IMAGE("COPIED_LINK"))
    

Ten skrypt nie działa - błąd to „TypeError: Nie można wywołać metody„ replace ”z niezdefiniowanego. (Wiersz 3, plik„ Code ”)” (Przepraszamy, skrypt jest dla mnie magią, więc nie mogę zaoferować dużo więcej na tym razem)
cduston

@cduston Czy postępowałeś zgodnie z instrukcjami?
Rubén

Otrzymywanie tego samego błędu co @cduston
Vikram Garg

3
  1. Musisz zrobić arkusz kalkulacyjny.
  2. Następnie przejdź do narzędzi> edytor skryptów.
  3. Możesz wyciąć / wkleić poniższy skrypt, zastępując całą zawartość, która została wstawiona domyślnie.
  4. Musisz dodać identyfikator folderu, pod którym widnieje THIS_SHOULD_BE_YOUR_FOLDER_ID (zostaw cudzysłowy).
  5. Zapisz to.
  6. Naciśnij przycisk odtwarzania / uruchamiania
  7. Musisz poprosić o pozwolenie na uruchomienie.

Że należy to zrobić. Przykład roboczy danych wyjściowych tutaj .

/* 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
Być może odpowiedziałem ponad :) - URL tohttps://docs.google.com/uc?export=download&id=FILE_ID
Tom Woodward


2

Najlepszym i najłatwiejszym sposobem na poradzenie sobie z tym jest użycie wzoru zastępczego i posiadanie dwóch kolumn tutaj to wyjaśnienie poniżej:

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

Objaśnienie spowoduje przekonwertowanie pośredniego pliku obrazu google image na bezpośredni link i wygenerowanie obrazu zgodnie z oczekiwaniami.

Zrzut ekranu:

wprowadź opis zdjęcia tutaj

wprowadź opis zdjęcia tutaj


1

Możesz to zrobić, łącząc się z adresem URL rysunku Google, kroki poniżej:

  1. Utwórz nowy rysunek na Dysku Google (kliknij prawym przyciskiem myszy dowolny folder na Dysku Google, „Więcej”, „Rysunek”)
  2. wklej tam swój obraz
  3. File -> Publish to web -> As Link, Rozpocznij publikowanie
  4. Skopiuj podany adres URL i przejdź do komórki Arkusza Google, którą chcesz wstawić
  5. =image("URL you copied")

Powielają dane, więc nie łączysz się z rzeczywistym obrazem, ale z rysunkiem Google, który ma kopię obrazu. Każdy może przejść do tego linku i pobrać go w dowolnym obsługiwanym formacie (JPEG, PNG, SVG lub PDF).


Ratownik życia, dziękuję!
post_ahead

0

Wziąłem powyższą odpowiedź od (Zeeshan) i połączyłem ją w jedną komórkę.

Wpisz to do komórki:

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

Zamień "https://drive.google.com/open?id=1cmtBYSbobv3FYpKKBCPvS"na „Link do udostępniania”

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.