The official google photos client doesn't have upload functionality, this repo aims to complete it with upload functionality and improve ease of use for classic use cases.
It contains three packages, github.com/nmrshll/google-photos-api-client-go/lib-gphotos simply wraps the official library to offer the same functionality plus upload, the two other packages try to make it easier to use in classic cases:
- noserver-gphotosclient for CLI tool or desktop/mobile app (when your app is fully client-side and doesn't have its own server-side part): examples
- server-gphotosclient for classic web apps that have a server side: examples
Download using go get github.com/nmrshll/google-photos-api-client-go
Then use this way:
In a CLI tool or desktop/mobile app (when your app is fully client-side and doesn't have its own server-side part):
func main() {
// ask the user to authenticate on google in the browser
photosClient, err := gphotosclient.NewClient(
gphotosclient.AuthenticateUser(
gphotoslib.NewOAuthConfig(gphotoslib.APIAppCredentials{
ClientID: "________________",
ClientSecret: "____________________"},
),
),
)
if err != nil {
log.Fatal(err)
}
_, err = photosClient.UploadFile("/path/to/file")
if err != nil {
log.Fatal(err)
}
}
func main() {
fmt.Println("Hello world !")
}