Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/3846masa/upload-gphotos
Upload photo to Google Photos (Unofficial).
https://github.com/3846masa/upload-gphotos
google-photos unofficial upload-gphotos
Last synced: 2 months ago
JSON representation
Upload photo to Google Photos (Unofficial).
- Host: GitHub
- URL: https://github.com/3846masa/upload-gphotos
- Owner: 3846masa
- License: mit
- Archived: true
- Created: 2015-07-08T12:50:18.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2021-06-05T17:57:34.000Z (over 3 years ago)
- Last Synced: 2024-10-28T06:31:55.028Z (3 months ago)
- Topics: google-photos, unofficial, upload-gphotos
- Language: TypeScript
- Homepage:
- Size: 1010 KB
- Stars: 263
- Watchers: 19
- Forks: 44
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- project-awesome - 3846masa/upload-gphotos - Upload photo to Google Photos (Unofficial). (TypeScript)
README
# upload-gphotos
**THIS LIBRARY HAS BEEN DEPRECATED**
Starting June 1, 2021, you will no longer be able to upload an unlimited number of images to Google Photos.
We are deprecating this library as it no longer fulfills its primary purpose.
If you wish to upload images to Google Photos in the future, please use the official API.
---
[![NPM](https://nodei.co/npm/upload-gphotos.png?compact=true)](https://nodei.co/npm/upload-gphotos/)
[![NPM VERSION](https://flat.badgen.net/npm/v/upload-gphotos?icon=npm)](https://www.npmjs.com/package/upload-gphotos)
[![GITHUB RELEASE](https://flat.badgen.net/github/release/3846masa/upload-gphotos)](https://github.com/3846masa/upload-gphotos/releases)
[![LICENSE](https://flat.badgen.net/github/license/3846masa/upload-gphotos)](./LICENSE)Google Photos にファイルをアップロード.
Upload photos to Google Photos (Unofficial).
**CAUTION** | This library use an internal Google Photos API. **USE AT YOUR OWN RISK**
## Requirement
- Required: Chrome or Chromium
- If you installed Chrome to custom path, set `PUPPETEER_EXECUTABLE_PATH`## Preparation
**USE AT YOUR OWN RISK**
1. Turn on "Allowing less secure apps to access your account"
- https://support.google.com/accounts/answer/6010255
2. (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)][fcwu/docker-ubuntu-vnc-desktop]: https://github.com/fcwu/docker-ubuntu-vnc-desktop
[apenwarr/sshuttle]: https://github.com/apenwarr/sshuttle
[issues#113(comments)]: https://github.com/3846masa/upload-gphotos/issues/113#issuecomment-277141489## Installation
### Executable file (Recommended)
Download your platform's binary via [GitHub Releases].
[github releases]: https://github.com/3846masa/upload-gphotos/releases
### npm
```
$ npm install -g upload-gphotos
```## Usage
```
$ upload-gphotos file [...] [--no-output-json] [--quiet] [-r retry] [-u username] [-p password] [-a albumname] [--aid albumid]
```## Library
This is also Node.js library.
```js
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);
```## FAQ
- **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[issues#196]: https://github.com/3846masa/upload-gphotos/issues/196
[issues#246]: https://github.com/3846masa/upload-gphotos/issues/246
[issues#256(comments)]: https://github.com/3846masa/upload-gphotos/issues/256#issuecomment-356458407
[issues#304(comments)]: https://github.com/3846masa/upload-gphotos/issues/304#issuecomment-433676584