Вставте зображення з Диска Google у Google Таблиці


11

Як вставити / посилання на зображення, які існують у папці на Google Диску, в електронну таблицю Google Таблиць?

Є функція image (), я думаю, використовую її приблизно так:

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

Як?

Оновлення. Деякі люди зазначили, що, завантажуючи фотографії в Picasa, ми можемо отримати URL-адресу кожного зображення та використовувати його. Це працює. Мінусом цього є те, що ми повинні копіювати кожну URL-адресу всіх зображень. Я розміщую це на окремому аркуші, а потім використовуйте VLOOKUP, щоб отримати кожну URL-адресу зображення на індекс. Це працює, але частина копіювання URL - це пекла робота, якщо у вас, звичайно, багато зображень. Потрібно краще рішення.

Відповіді:


5

Коротка відповідь

Хоча на даний момент можливо використовувати файли, що зберігаються на Диску Google, як ресурси веб-сайту, він офіційно не підтримується і не повинен використовуватися для веб-сайтів та електронних таблиць, які мають термін служби після 31 серпня 2016 року.

Як згадував AE I у своїй відповіді на пов'язане питання, використання https://docs.google.com/uc?export=view&id=FILE_IDне зафіксовано документально і може припинити роботу в будь-який час без попереднього офіційного повідомлення, але в цей час (лютий 2019 року) воно все ще працює.

Пояснення

Інструкція щодо публікації файлів Google Диска як вмісту веб-сайту розміщена у публікації вмісту веб-сайту - API REST Google Drive, але відповідно до застарілої підтримки веб-хостингу на Диску Google - Блог розробника Google Apps

Починаючи з 31 серпня 2015 року, веб-хостинг на Диску Google для користувачів та розробників буде припинено. Ви можете продовжувати використовувати цю функцію протягом одного року до 31 серпня 2016 року, коли ми припинимо показ вмісту через id googledrive.com/host/ evidencedoc].


4

Я створив сценарій з двох рядків, щоб використовувати посилання для спільного використання зображення на Диску Google.

  1. Перейдіть до Інструменти> Редактор сценаріїв.
  2. Скопіюйте, вставте наступний код
  3. Клацніть на запуск для отримання дозволу

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

Використання сценарію:

  1. Скопіюйте посилання на зображення для спільного використання на Диску Google.
  2. Ідіть до клітини
  3. Введіть формулу

    =IMAGE(DRIVE_IMAGE("COPIED_LINK"))
    

Цей сценарій не працює - помилка "TypeError: Неможливо викликати метод" замінити "невизначеним. (Рядок 3, файл" Код ")" (Вибачте, сценарій для мене є якоюсь магією, тому я не можу запропонувати набагато більше на цього разу)
cduston

@cduston Ви дотримувались кроків?
Рубен

Отримати таку ж помилку, що і @cduston
Vikram Garg

3
  1. Вам потрібно буде скласти електронну таблицю.
  2. Потім перейдіть до інструментів> редактор сценаріїв.
  3. Ви можете вирізати / вставити скрипт нижче, замінивши весь вміст, який було розміщено за замовчуванням.
  4. Вам потрібно буде додати ідентифікатор папки там, де написано THIS_SHOULD_BE_YOUR_FOLDER_ID (залиште лапки).
  5. Збережи це.
  6. Натисніть кнопку відтворення / запуску
  7. Вам потрібно буде дати йому дозвіл на запуск, коли вас запитають.

Це повинно це робити. Приклад роботи тут .

/* 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
Можливо, я вже відповів :) - URL-адреса будеhttps://docs.google.com/uc?export=download&id=FILE_ID
Том Вудвард

Дивіться відповідь @AEI -> webapps.stackexchange.com/a/89112/88163
Рубен

2

Найкращий і простий спосіб вирішити це, використовуючи формулу-замінник і маючи два стовпці, ось пояснення нижче:

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

Пояснення це перетворить файл непрямого зображення зображення Google в пряме посилання та дасть результат зображення, як ви цього хочете.

Знімок екрана:

введіть тут опис зображення

введіть тут опис зображення


1

Це можна зробити за допомогою посилання на URL-адресу малюнка Google, описані нижче:

  1. Створіть новий малюнок на Диску Google (клацніть правою кнопкою миші будь-яку папку на Диску Google, "Більше", "Малювання")
  2. вставте своє зображення туди
  3. File -> Publish to web -> As Link, Почніть публікацію
  4. Скопіюйте вказану URL-адресу та перейдіть до клітинки Google Sheet, яку ви хочете вставити
  5. =image("URL you copied")

Він дублює дані, тому ви посилаєтесь не на фактичне зображення, а на малюнок Google, який має копію зображення. Будь-хто може перейти на це посилання та завантажити будь-який із підтримуваних форматів (JPEG, PNG, SVG чи PDF).


Рятувальник життя, дякую!
post_ahead

0

Я взяв вищевказану відповідь (Зешен) і об'єднав її в одну клітинку.

Введіть це в клітинку:

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

Замініть "https://drive.google.com/open?id=1cmtBYSbobv3FYpKKBCPvS"на "Спільне посилання"

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.