|
| 1 | +============== |
| 2 | +Product images |
| 3 | +============== |
| 4 | + |
| 5 | +The integration with **Google Custom Search API** is a feature that allows finding images |
| 6 | +automatically for your product, based on their barcode. |
| 7 | + |
| 8 | +.. _product_images/configuration: |
| 9 | + |
| 10 | +Configuration |
| 11 | +============= |
| 12 | + |
| 13 | +This functionnality requires configuration both on Google and on Odoo. |
| 14 | + |
| 15 | +Google includes 100 free requests per day (about 100 images if all of them are found). To enable |
| 16 | +up to 10K requests per day, you need to configure your Google account to do so. |
| 17 | + |
| 18 | +.. seealso:: |
| 19 | + - `Create, modify, or close your Cloud Billing account |
| 20 | + <https://cloud.google.com/billing/docs/how-to/manage-billing-account>`_ |
| 21 | + |
| 22 | +.. _product_images/google-api-dashboard: |
| 23 | + |
| 24 | +Google API dashboard |
| 25 | +-------------------- |
| 26 | + |
| 27 | +#. Go to `Google Cloud Platform <https://console.developers.google.com/>`__ API & Services page |
| 28 | + to generate Google Custom Search API credentials. Log in with your Google account. |
| 29 | + |
| 30 | +#. Select or create an API project to store the credentials if not yet done |
| 31 | + before. Give it an explicit name (e.g. Odoo Images). |
| 32 | + |
| 33 | +#. In the credentials section, click on Create Crendentials and select **API Keys**. |
| 34 | + |
| 35 | + .. image:: product_images/google-images-credentials00.png |
| 36 | + :align: center |
| 37 | + |
| 38 | +#. Save it, you'll need it for the next step in Odoo ! |
| 39 | + |
| 40 | +#. Use the search bar to find for *Google Custom Search API* and select it. |
| 41 | + |
| 42 | + .. image:: product_images/google-images-credentials01.png |
| 43 | + :align: center |
| 44 | + |
| 45 | +#. Enable the API. |
| 46 | + |
| 47 | + .. image:: product_images/google-images-credentials02.png |
| 48 | + :align: center |
| 49 | + |
| 50 | +.. _product_images/google-pse-dashboard: |
| 51 | + |
| 52 | +Google Programmable Search dashboard |
| 53 | +------------------------------------ |
| 54 | + |
| 55 | +#. Go to `Google Programmable Search Engine <https://programmablesearchengine.google.com/>`__ and |
| 56 | + click on Get Started. Log in with your Google account. |
| 57 | + |
| 58 | + .. image:: product_images/google-images-credentials03.png |
| 59 | + :align: center |
| 60 | + |
| 61 | +#. Fill the language and the name of the search engine. Give it an explicit name |
| 62 | + (e.g. Odoo Images). |
| 63 | + |
| 64 | + .. note:: |
| 65 | + Google doesn't allow to create a search engine without having entered at least one specific |
| 66 | + site to search on. You can put any website (e.g. www.google.com) for this step, we will |
| 67 | + remove it later. |
| 68 | + |
| 69 | +#. Validate the form by clicking on Create. Then, go to the edition mode of the search engine |
| 70 | + that you created (either by clicking on Control Panel button on the confirmation page or by |
| 71 | + clicking on the name of your Search Engine on the Home page). |
| 72 | + |
| 73 | +#. In the basics tab, make sure to enable Image search, SafeSearch and Search the entire web. |
| 74 | + |
| 75 | + .. note:: |
| 76 | + Once Search the entire web enabled, you can safely delete the site that you previously |
| 77 | + entered at the previous step. |
| 78 | + |
| 79 | +#. Save your **Search Engine Id**. |
| 80 | + |
| 81 | + .. tip:: |
| 82 | + You can easily save your Search Engine ID by clicking on the Copy to clipboard button next to |
| 83 | + it. |
| 84 | + |
| 85 | +.. _product_images/setup-in-odoo: |
| 86 | + |
| 87 | +Odoo |
| 88 | +---- |
| 89 | + |
| 90 | +#. Go to :menuselection:`Settings --> General Settings --> Integrations`, |
| 91 | + activate **Google Images** and save. |
| 92 | + |
| 93 | +#. Go back to :menuselection:`Settings --> General Settings` and enter your **API Key** and |
| 94 | + **Search Engine ID** in Google Images option. |
| 95 | + |
| 96 | +#. The setup is now ready. |
| 97 | + |
| 98 | +.. _product_images/get-product-images: |
| 99 | + |
| 100 | +Automatically get your product images in Odoo |
| 101 | +============================================= |
| 102 | + |
| 103 | +The action to automatically get your product images in Odoo appears in any Products or Product |
| 104 | +Variants list view. Here is a step-by-step guide from the Inventory app. |
| 105 | + |
| 106 | +#. Go to :menuselection:`Inventory --> Products --> Products` or :menuselection:`Inventory --> |
| 107 | + Products --> Product Variants`. |
| 108 | + |
| 109 | +#. On the list view, select the products that needs an image. |
| 110 | + |
| 111 | + .. important:: |
| 112 | + Only the 10K first products or product variants selected will be processed. |
| 113 | + |
| 114 | + .. note:: |
| 115 | + Only the products or product variants with a barcode and without an image will be processed. |
| 116 | + If you select a product that has one or more variants from the Products view, each variant |
| 117 | + matching the previous criteria will be processed. |
| 118 | + |
| 119 | +#. In the action menu, select the option *Get Pictures from Google Images* and validate by clicking |
| 120 | + on *Get picture*. |
| 121 | + |
| 122 | +#. You should see your images appearing in the next few minutes. |
| 123 | + |
| 124 | + .. note:: |
| 125 | + Only the 10 first images are fetched immediatly. If you selected more than 10, the rest will |
| 126 | + be fetched as a background job, so you can continue doing your work while illustrating your |
| 127 | + products. |
| 128 | + |
| 129 | + The background job process about 100 images in a minute. If you reach the quota authorized |
| 130 | + by Google (either with a free or a paid plan), the background job will put itself on hold |
| 131 | + for 24 hours and continue right where he stopped the day before. Any other background task |
| 132 | + with a more important weight (e.g. payment post-processing job) will be executed in priority |
| 133 | + and might extend the processing time. |
| 134 | + |
| 135 | +.. _product_images/faq: |
| 136 | + |
| 137 | +Troubleshooting |
| 138 | +=============== |
| 139 | + |
| 140 | +Here are the most frequently asked questions about this feature. Feel free to add more questions |
| 141 | +(with their answers, of course !) by editing this page on Github. |
| 142 | +See :ref:`contributing/github-interface` for additional help. |
| 143 | + |
| 144 | +.. _product_images/less-quality-or-not-found: |
| 145 | + |
| 146 | +Images have less quality than I expected, or are not found |
| 147 | +---------------------------------------------------------- |
| 148 | + |
| 149 | +* Check if the barcode is correct (Avoid whitespaces, hypen, dots...). |
| 150 | + |
| 151 | +* Do manually a research on Google Images and compare the results. If you find better results than |
| 152 | + in Odoo, also check your `Google Programmable Search Engine |
| 153 | + <https://programmablesearchengine.google.com/>`__. |
| 154 | + |
| 155 | +.. note:: |
| 156 | + The first picture found that corresponds with our criteria is saved. No matter how many times |
| 157 | + you execute the action, you should get each time the same picture, unless results have changed |
| 158 | + on Google's side. There are the criteria used when making a request to Google: |
| 159 | + |
| 160 | + * Safe mode is activated |
| 161 | + * Image size is large |
| 162 | + * Image type is photo |
| 163 | + * Search type is image |
| 164 | + |
| 165 | + Currently, you can't change those variables. They can impact the result for less popular |
| 166 | + products but should greatly improve results on a large scale. |
| 167 | + |
| 168 | +.. _product_images/errors: |
| 169 | + |
| 170 | +Possible errors |
| 171 | +--------------- |
| 172 | + |
| 173 | +Most of the errors that you might encounter are very explicit and should be easy to resolve. |
| 174 | +However, here are a few tips on what you can do in those cases. |
| 175 | + |
| 176 | +.. _google-cs-api: https://console.cloud.google.com/marketplace/product/google/customsearch.googleapis.com |
| 177 | + |
| 178 | ++----------------------------+--------------------------------------------------------------------+ |
| 179 | +| UserError | Solution | |
| 180 | ++============================+====================================================================+ |
| 181 | +| Another task is already | It means that for some reason, the job is scheduled but has been | |
| 182 | +| scheduled to pick the | delayed. In that case, your selection is saved and images will be | |
| 183 | +| images on Google on *Date*.| fetched on *Date*. If you want to cancel the task, you have to go | |
| 184 | +| | into debug mode. Then, go to :menuselection:`Settings --> | |
| 185 | +| | Technical --> Scheduled Actions Triggers` and delete it. Keep in | |
| 186 | +| | mind that, by deleting the trigger, you will cancel the task but | |
| 187 | +| | not erase the selection. If you launch the task again with more | |
| 188 | +| | than 10 Products or Product Variants selected, the old selection | |
| 189 | +| | will also be processed at the same time. | |
| 190 | ++----------------------------+--------------------------------------------------------------------+ |
| 191 | +| You didn't configure | You may have forgotten to save after entering the parameters in | |
| 192 | +| properly your **API Key** | the Settings. | |
| 193 | +| or **Search Engine ID**. | | |
| 194 | ++----------------------------+--------------------------------------------------------------------+ |
| 195 | +| There isn't any product | Check your selection of Products. If any Products or their variants| |
| 196 | +| without a picture and | already have a picture, they won't be processed. Also, check if you| |
| 197 | +| with a barcode. | well entered a barcode. | |
| 198 | ++----------------------------+--------------------------------------------------------------------+ |
| 199 | +| Custom Search API is not | Check that you have enabled the Custom Search API in your Google | |
| 200 | +| enabled in your Google | project either by visiting the link displayed in the error in Odoo | |
| 201 | +| project. | or by checking the `Google Cloud Platform <google-cs-api_>`_ Custom| |
| 202 | +| | Search API page. | |
| 203 | ++----------------------------+--------------------------------------------------------------------+ |
| 204 | +| Your **API Key** or | Check if you properly configured the **API Key** and/or the | |
| 205 | +| your **Search Engine ID** | **Search Engine ID** in Odoo. A common mistake is to invert these | |
| 206 | +| is incorrect. | variables. | |
| 207 | ++----------------------------+--------------------------------------------------------------------+ |
0 commit comments