Skip to content

Uploads missing media files from given directories into Google Photos and control their sharing (a mirror repository, see the link).

License

Notifications You must be signed in to change notification settings

rychly/gphotos-uploader

Repository files navigation

GPhotosUploader

Website: https://rychly.gitlab.io/gphotos-uploader/ (for builds, usage-help, license, etc.)

Uploads missing media files from given directories into Google Photos and control their sharing.

Dependencies

This project is a Java application and it utilizes Java client library for the Google Photos API.

Google Photos Library API Credentials

New Project/Application in Google Cloud Platform and its Credentials

It is necessary to create and to use just one application/project in Google Cloud Platform, i.e., to use credentials from the one application/project only (created as below). Otherwise, users would not be able to share albums between multiple applications/projects due to error "No permission to join this album since it was not created by this app".

  1. Create a project in the Google Cloud Platform:
    • Project Name: GPhotosUploader
    • Project ID: gphotosuploader-0
  2. Select the created project
  3. Enable Photos Library API in the API Library
  4. Add credentials to your project
    • API are you using: Photos Library API
    • You will be calling the API from: Other UI
    • You will be accessing: User data
    • Find out what kind of credentials you need!
    • OAuth 2.0 client name: gphotosuploader-0
    • Create OAuth client ID!
    • Product name shown to users: GPhotosUploader
    • Continue!
  5. Download credentials of OAuth 2.0 client ID in JSON

Using the Client Application with the Credentials

  1. Save the JSON credentials file into ${XDG_CONFIG_HOME}/GPhotosUploader/client_secret.json
  2. Edit ${XDG_CONFIG_HOME}/GPhotosUploader/GPhotosUploader.properties to add the credentials to a credentials profile (in the example, the credentials profile name is "username"). The client_secret.json file (downloaded as above) and the username-credentials directory (will be created automaticaly if missing) should be in ${XDG_CONFIG_HOME}/GPhotosUploader dirtectory. One identical client_secret.json file can be (and usually is) shared by multiple credential profiles.
google.api.credentials.client-secret.file.profile-username=client_secret.json
google.api.credentials.directory.profile-username=username-credentials
  1. Run the client application with the credentials profile "username" as ./run.sh -g username -l and authorize the application to access data of a particular Google account

Ordering of Media in Google Photos

Ordering of Shared Albums

The shared albums in the chronological order by the date of their sharing (i.e., when their owner enabled them for sharing; not by date of joining the albums).

About

Uploads missing media files from given directories into Google Photos and control their sharing (a mirror repository, see the link).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published