Help us shape the future of Go! Take the 2026 Go Developer Survey

go-vimeo

module
v2.0.0+incompatible Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 14, 2017 License: MIT

README

Build Status GoDoc codecov Go Report Card

go-vimeo

go-vimeo is a Go client library for accessing the Vimeo API.

Basic usage

import "github.com/silentsokolov/go-vimeo/vimeo"


func main() {
	client := vimeo.NewClient(nil)

	// Specific optional parameters
	cats, _, err := client.Categories.List(OptPage(1), OptPerPage(2))
}
Authentication

The go-vimeo library does not directly handle authentication. Instead, when creating a new client, pass an http.Client that can handle authentication for you, for example the oauth2.

import (
	"golang.org/x/oauth2"
	"github.com/silentsokolov/go-vimeo/vimeo"
)

func main() {
	ts := oauth2.StaticTokenSource(
		&oauth2.Token{AccessToken: "... your access token ..."},
	)
	tc := oauth2.NewClient(oauth2.NoContext, ts)

	client := vimeo.NewClient(tc)

	cats, _, err := client.Categories.List()
}
Pagination
func main() {
	client := ...

	// Any "List" request
	_, resp, _ := client.Categories.List(OptPage(2), OptPerPage(2))

	fmt.Printf("Current page: %d\n", resp.Page)
	fmt.Printf("Next page: %s\n", resp.NextPage)
	fmt.Printf("Prev page: %s\n", resp.PrevPage)
	fmt.Printf("Total pages: %d\n", resp.TotalPages)
}
Created/Updated request
func main() {
	client := ...

	// Specific request instance
	req := &vimeo.ChannelRequest{
		Name:        "My Channel",
		Description: "Awesome",
		Privacy:     "anybody",
	}

	ch, _, _ := client.Channels.Create(req)

	fmt.Println(ch)
}
Where "Me" service?

The "Me" service repeats the "Users" service, passing the empty string will authenticated user.

func main() {
	client := ...

	// Call /me API method.
	// Return current authenticated user.
	me, _, _ := client.Users.Get("")

	fmt.Println(me)


	// Call /me/videos API method.
	// Return videos for current authenticated user.
	videos, _, _ := client.Users.ListVideo("")

	fmt.Println(videos)
}
Upload video
import (
	"os"

	"golang.org/x/oauth2"
	"github.com/silentsokolov/go-vimeo/vimeo"
)

func main() {
	client := ...
	filePath := "/Users/user/Videos/Awesome.mp4"

	f, _ := os.Open(filePath)

	video, resp, _ := client.Users.UploadVideo("", f)

	fmt.Println(video, resp)
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL