Ruby library for Picasa Web Albums Data API
gem install picasa
client = Picasa::Client.new(user_id: "[email protected]")
client.album.list
# => Picasa::Presenter::AlbumList
client.album.show("album_id")
# => Picasa::Presenter::Album
client.photo.create("album_id", file_path: "path/to/my-photo.png")
# => Picasa::Presenter::Photo
When request is authenticated, response will contain private data, however this can be controlled by access
parameter.
You can authenticate by specifing password:
client = Picasa::Client.new(user_id: "[email protected]", password: "secret")
Or by setting custom authorization header, i.e. taken from OAuth authentication:
client = Picasa::Client.new(user_id: "[email protected]", authorization_header: "Bearer access-token")
You can connect via proxy server setting https_proxy
or HTTPS_PROXY
environment variable to valid URL.
You can install thor script for uploading all photos from given directory:
thor install https://github.com/morgoth/picasa/raw/master/extra/Thorfile --as imagery --force
Updating script can be done by:
thor update imagery
And then use it (it will create album taking title from folder name and upload all photos from that directory):
[email protected] GOOGLE_PASSWORD=secret thor imagery:upload path-to-folder-with-photos
# Without specifing password
[email protected] GOOGLE_AUTHORIZATION_HEADER="GoogleLogin auth=token" thor imagery:upload path-to-folder-with-photos
If your upload was somehow interrupted, you can resume it by adding --continue
option:
[email protected] GOOGLE_PASSWORD=secret thor imagery:upload --continue path-to-folder-with-photos
If you run out of quota and want to resize images to fit Picasa free storage limits, you can install rmagick
gem and run (this will modify files):
thor imagery:resize path-to-folder-with-photos
Picasa uses gzipped requests to speedup fetching results. Benchmarks are available on Vinicius Teles gist
- Bram Wijnands
- Rafael Souza
- jsaak
- Javier Guerra
- Eiichi Takebuchi
- TADA Tadashi
- Vinicius Teles
- Ionut-Cristian Florescu
Copyright (c) Wojciech Wnętrzak, released under the MIT license.