List albums
This page describes how to programmatically request a list of albums. Iterator pagination is built-in and transparently managed by the API client.
Sample
The following sample shows how to request the list of albums from an user or organization with no filters applied.
Replace [USER-OR-ORGANIZATION]
with the resource name of the user or organization that the albums belong to, e.g. users/123
or organizations/123
.
tip
Tip: do not forget to replace CLIENT-ID
and CLIENT-SECRET
with valid IAM Service Account client credentials.
- Golang
package main
import (
"context"
"errors"
"log"
"golang.org/x/oauth2/clientcredentials"
"google.golang.org/api/iterator"
"google.golang.org/api/option"
gapic "github.com/animeapis/api-go-client/image/v1alpha1"
image "github.com/animeapis/go-genproto/image/v1alpha1"
)
var (
AlbumParent = "[USER-OR-ORGANIZATION]"
ClientID = "[CLIENT-ID]"
ClientSecret = "[CLIENT-SECRET]"
)
var (
TokenURL = "https://accounts.animeshon.com/o/oauth2/token"
Endpoint = "image.animeapis.com:443"
)
func main() {
ctx := context.Background()
config := &clientcredentials.Config{
ClientID: ClientID,
ClientSecret: ClientSecret,
TokenURL: TokenURL,
}
options := []option.ClientOption{
option.WithEndpoint(Endpoint),
option.WithTokenSource(config.TokenSource(ctx)),
}
client, err := gapic.NewClient(ctx, options...)
if err != nil {
log.Fatalf("NewClient: %s", err)
}
request := &image.ListAlbumsRequest{
Parent: AlbumParent,
}
it := client.ListAlbums(ctx, request)
for {
album, err := it.Next()
if err != nil {
if errors.Is(err, iterator.Done) {
return
}
log.Fatalf("ListAlbums: %s", err)
}
log.Println("---------------------------------------------------------")
log.Printf("name : %s", album.GetName())
log.Printf("display name: %s", album.GetDisplayName())
}
}