Get IAM policies
This page describes how to programmatically retrieve policies assigned to an Image API resource.
Sample
The following code sample shows how to retrieve policies assigned to an Image API resource.
Replace [ALBUM]
with the resource name of the album that the policy should be retrieved from, e.g. users/123/albums/456
.
tip
Tip: do not forget to replace CLIENT-ID
and CLIENT-SECRET
with valid IAM Service Account client credentials.
- Golang
package main
import (
"context"
"log"
"golang.org/x/oauth2/clientcredentials"
"google.golang.org/api/option"
"google.golang.org/genproto/googleapis/iam/v1"
gapic "github.com/animeapis/api-go-client/image/v1alpha1"
)
var (
Album = "[ALBUM]"
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 := &iam.GetIamPolicyRequest{
Resource: Album,
}
policy, err := client.GetIamPolicy(ctx, request)
if err != nil {
log.Fatalf("GetIamPolicy: %s", err)
}
log.Printf("resource: %s", Album)
log.Printf("bindings: %v", policy.Bindings)
}