Documentation ¶
Overview ¶
Package picago contains functions for downloading albums and photos from Picasa Web. Implemented from scratch following https://developers.google.com/picasa-web/docs/2.0/developers_guide_protocol?hl=en .
Index ¶
- Variables
- func Authorize(ID, secret string) error
- func DownloadPhoto(client *http.Client, url string) (io.ReadCloser, error)
- func NewAuthorizeHandler(transport *oauth.Transport, donech chan<- struct{}) http.HandlerFunc
- func NewClient(id, secret, code, tokenCacheFilename string) (*http.Client, error)
- func NewClientCache(id, secret, code string, cache oauth.Cache) (*http.Client, error)
- func NewTransport(id, secret string, cache oauth.Cache) (*oauth.Transport, error)
- type Album
- type Atom
- type Author
- type Entry
- type EntryContent
- type Exif
- type Link
- type Media
- type MediaContent
- type Photo
Constants ¶
This section is empty.
Variables ¶
var DebugDir string
var ErrCodeNeeded = errors.New("Authorization code is needed")
Functions ¶
func Authorize ¶
Authorize authorizes using OAuth2 the ID and secret strings can be acquired from Google for the application https://developers.google.com/accounts/docs/OAuth2#basicsteps
func DownloadPhoto ¶
DownloadPhoto returns an io.ReadCloser for reading the photo bytes
func NewAuthorizeHandler ¶
func NewAuthorizeHandler(transport *oauth.Transport, donech chan<- struct{}) http.HandlerFunc
NewAuthorizeHandler returns a http.HandlerFunc which will set the Token of the given oauth.Transport and send a struct{} on the donech on success.
func NewClient ¶
NewClient returns an authorized http.Client usable for requests, caching tokens in the given file.
func NewClientCache ¶
For redirect_uri, see https://developers.google.com/accounts/docs/OAuth2InstalledApp#choosingredirecturi .
NewClientCache returns an authorized http.Client with the given oauth.Cache implementation
Types ¶
type Album ¶
type Atom ¶
type Atom struct { ID string `xml:"id"` Name string `xml:"name"` Updated time.Time `xml:"updated"` Title string `xml:"title"` Subtitle string `xml:"subtitle"` Icon string `xml:"icon"` Author Author `xml:"author"` NumPhotos int `xml:"numphotos"` StartIndex int `xml:"startIndex"` TotalResults int `xml:"totalResults"` ItemsPerPage int `xml:"itemsPerPage"` Entries []Entry `xml:"entry"` }
type Entry ¶
type Entry struct { ETag string `xml:"etag,attr"` EntryID string `xml:"http://www.w3.org/2005/Atom id"` ID string `xml:"http://schemas.google.com/photos/2007 id"` Published time.Time `xml:"published"` Updated time.Time `xml:"updated"` Name string `xml:"http://schemas.google.com/photos/2007 name"` Title string `xml:"title"` Summary string `xml:"summary"` Links []Link `xml:"link"` Author Author `xml:"author"` Location string `xml:"http://schemas.google.com/photos/2007 location"` NumPhotos int `xml:"numphotos"` Content EntryContent `xml:"content"` Media Media `xml:"group"` Exif Exif `xml:"tags"` Point string `xml:"where>Point>pos"` }
type EntryContent ¶
type Media ¶
type Media struct { Title string `xml:"http://search.yahoo.com/mrss title"` Description string `xml:"description"` Keywords string `xml:"keywords"` Content MediaContent `xml:"content"` }