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.
This project is a Java application and it utilizes Java client library for the Google Photos API.
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".
- Create a project in the Google Cloud Platform:
- Project Name:
GPhotosUploader
- Project ID:
gphotosuploader-0
- Project Name:
- Select the created project
- Enable Photos Library API in the API Library
- 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!
- API are you using:
- Download credentials of OAuth 2.0 client ID in JSON
- Save the JSON credentials file into
${XDG_CONFIG_HOME}/GPhotosUploader/client_secret.json
- Edit
${XDG_CONFIG_HOME}/GPhotosUploader/GPhotosUploader.properties
to add the credentials to a credentials profile (in the example, the credentials profile name is "username"). Theclient_secret.json
file (downloaded as above) and theusername-credentials
directory (will be created automaticaly if missing) should be in${XDG_CONFIG_HOME}/GPhotosUploader
dirtectory. One identicalclient_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
- 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
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).