Skip to Content
Menu
This question has been flagged
1 Reply
1449 Views
Importing Images from a Google Drive Folder (massive)


There are many cases where product images need to be imported (massive). The only way to do this is by obtaining the direct link to the image so that Odoo can read and import it. However, tools like Google Drive and Google Sheets can help us quickly obtain a URL for the image.



Avatar
Discard
Author Best Answer

Importing Images from Google Drive to Odoo


Part 1: Setting up Google Drive and Import Template


Create a folder in Google Drive with the following access permissions:

General access: Anyone with the link - Viewer.



In this Google Drive folder, you can only upload images in JPG, JPEG, and PNG formats; other formats like WebP, PDF, AVIG, etc., are not supported.


In a Google Sheet, create an App Script:

Go to: Spreadsheet > Extensions > App Script.



Clicking on this section will open a new tab. We need to rename it and add the following code:


Code

function generateCSV() {

  var folderId = '1FWSmcU5f5B4PAidjdvIHgl-7zVzVxKnS'; // Replace with your Google Drive folder ID

  var folder = DriveApp.getFolderById(folderId);

  var files = folder.getFiles();

 

  var data = [];

  while (files.hasNext()) {

    var file = files.next();

    var fileName = file.getName();

    var fileId = file.getId();

    var link = 'https://drive.google.com/uc?export=view&id=' + fileId;

    data.push([fileName, link]);

  }

 

  var sheet = SpreadsheetApp.getActiveSpreadsheet().insertSheet('Image Links');

  sheet.appendRow(['product_name', 'image_url']);

 

  for (var i = 0; i < data.length; i++) {

    sheet.appendRow(data[i]);

  }

 

  SpreadsheetApp.getUi().alert('The CSV data has been created in the "Image Links" sheet.');

}



Google Drive Folder ID

In the second line of the code:


We will place the ID of our folder with images. To obtain the ID, open the folder in your browser, and it will be found after the word “folders/IMTHEID”.



Save and run the code.


This code will generate another tab in our spreadsheet, and we can use the URL to import it into the image_1920 field in Odoo.


NOTE: This method is very effective, but it depends on the size and format of the image. Images that are not successfully uploaded can be manually loaded.

NOTE 2: For better data management, it is recommended that the image names contain the product name or internal reference.


Part 2: Importing into Odoo


Once the import file is ready (example image):



Go to your Odoo instance and navigate to the Inventory app - Products - Products (the path doesn’t matter; the import can be done in the product.template model).



In the list view and the Favorites section, select “Import Files” (for versions below 17.0).



In the list view and the action button, select “Import Files” (for versión upper 17.0).




• Upload the file and import.



Avatar
Discard
Related Posts Replies Views Activity
1
May 25
292
1
May 25
11
4
Apr 25
13291
1
Apr 25
460
1
Apr 25
330