pibooth / pibooth-google-photo

Pibooth plugin to upload pictures on Google Photos
GNU General Public License v3.0
8 stars 4 forks source link
google-photos photo-booth photobooth plugin raspberry-pi raspberrypi

==================== pibooth-google-photo

|PythonVersions| |PypiPackage| |Downloads|

pibooth-google-photo is a plugin for the pibooth_ application.

Its permits to upload the pictures to a Google Photos_ album. It requires an internet connection.

Install

::

$ pip3 install pibooth-google-photo

Configuration

Here below the new configuration options available in the pibooth configuration. The keys and their default values are automatically added to your configuration after first pibooth restart.

.. code-block:: ini

[GOOGLE]

# Album where pictures are uploaded
album_name = Pibooth

# Credentials file downloaded from Google API
client_id_file =

.. note:: Edit the configuration by running the command pibooth --config.

Picture URL

Uploaded picture URL is set to app.previous_picture_url attribute at the end of processing state (state_processing_exit hook).

.. warning:: for security reason, URL will expire in 1 hour.

Grant secured access

Access to a Google Photos album is granted by a Credentials file that shall be defined in the [GOOGLE][client_id_file] configuration key. This file does not contain your Google credentials and it can not be used by an other application than pibooth_.

It contains the Google Photos_ API key (Client ID and Client Secret) generated by following the instructions:

=========== ================================================================== |step1| Go to Google Photos Library API <https://developers.google.com/photos/library/guides/get-started>_ and click on Enable the Google Photos Library API.

|step2| Enter a project name (for instance pibooth) and click on NEXT.

|step3| Enter a text to be displayed on user consent page when you will start pibooth with pibooth-google-photo enabled for the first time (for instance Pibooth) and click on NEXT.

|step4| Select the application type: Desktop app.and click on CREATE.

|step5| Download the credential file, save it somewhere accessible by pibooth and click on DONE. =========== ==================================================================

The content of the Credentials file looks like this:

.. code-block:: json

{
    "installed":
        {
        "client_id": "8723982792-sdjfhdkjhvfkd76.apps.googleusercontent.com",
        "client_secret": "HJAHZhjhi_HJI789798giEdPIbJ",
        "auth_uri": "https://accounts.google.com/o/oauth2/auth",
        "token_uri": "https://www.googleapis.com/oauth2/v3/token",
        "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
        "redirect_uris": ["urn:ietf:wg:oauth:2.0:oob","http://localhost"]
        }
}

.. note:: At the first connection, allow pibooth to use Google Photos_ in the opened web browser window.

.. --- Links ------------------------------------------------------------------

.. _pibooth: https://pypi.org/project/pibooth

.. _Google Photos: https://photos.google.com

.. |PythonVersions| image:: https://img.shields.io/badge/python-3.6+-red.svg :target: https://www.python.org/downloads :alt: Python 3.6+

.. |PypiPackage| image:: https://badge.fury.io/py/pibooth-google-photo.svg :target: https://pypi.org/project/pibooth-google-photo :alt: PyPi package

.. |Downloads| image:: https://img.shields.io/pypi/dm/pibooth-google-photo?color=purple :target: https://pypi.org/project/pibooth-google-photo :alt: PyPi downloads

.. --- Tuto -------------------------------------------------------------------

.. |step1| image:: https://github.com/pibooth/pibooth-google-photo/blob/master/docs/images/step1_shortcut_button.png?raw=true :width: 80 % :alt: step1_shortcut_button

.. |step2| image:: https://github.com/pibooth/pibooth-google-photo/blob/master/docs/images/step2_project_name.png?raw=true :width: 80 % :alt: step2_project_name

.. |step3| image:: https://github.com/pibooth/pibooth-google-photo/blob/master/docs/images/step3_display_name.png?raw=true :width: 80 % :alt: step3_display_name

.. |step4| image:: https://github.com/pibooth/pibooth-google-photo/blob/master/docs/images/step4_app_type.png?raw=true :width: 80 % :alt: step4_app_type

.. |step5| image:: https://github.com/pibooth/pibooth-google-photo/blob/master/docs/images/step5_download.png?raw=true :width: 80 % :alt: step5_download