Google Photos にファイルをアップロード.
Upload photos to Google Photos (Unofficial).
CAUTION | This library use an internal Google Photos API. USE AT YOUR OWN RISK
- Required: Chrome or Chromium
- If you installed Chrome to custom path, set
PUPPETEER_EXECUTABLE_PATH
- If you installed Chrome to custom path, set
USE AT YOUR OWN RISK
- Turn on "Allowing less secure apps to access your account"
- (Optional) Login Google via browser if you haven't login from current IP address.
- I recommend to login via VNC using fcwu/docker-ubuntu-vnc-desktop.
- Other way: using apenwarr/sshuttle
- FYI: issues#113(comments)
Download your platform's binary via GitHub Releases.
$ npm install -g upload-gphotos
$ upload-gphotos file [...] [--no-output-json] [--quiet] [-r retry] [-u username] [-p password] [-a albumname]
This is also Node.js library.
const fs = require('fs');
const libpath = require('path');
const { GPhotos } = require('upload-gphotos');
const gphotos = new GPhotos();
const filepath = libpath.join(__dirname, './example.jpg');
(async () => {
await gphotos.signin({
username,
password,
});
const album = await gphotos.searchAlbum({ title: 'TestAlbum' });
const photo = await gphotos.upload({
stream: fs.createReadStream(filepath),
size: (await fs.promises.stat(filepath)).size,
filename: libpath.basename(filepath),
});
await album.append(photo);
console.log(photo);
})().catch(console.error);
- Q. Why not using Google Photos API?
- A. It cannot upload with "High quality" option. See issues#304(comments).
- Q. Is it support to login with SMS / 2FA / Application password?
- A. No. I have no plan to support. See issues#196.
- Q. I can't login, Why?
- A. Please try to login via browser, first.
- Google will ban to login from unknown IP.
- Q. When uploading large / many files, Uploading was failed.
- A. It maybe limitations of Google Photos.
- Limitations is below. (FYI: issues#246, issues#256(comments))
- 75 MB or 100 megapixels / 1 photo
- 10 GB / 1 video
- Total bandwidth maybe 10 GB / 1 day