/
channel_pagination_example.go
43 lines (34 loc) · 1 KB
/
channel_pagination_example.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
package main
import (
"log"
"os"
"github.com/RJPearson94/twilio-sdk-go"
v1 "github.com/RJPearson94/twilio-sdk-go/service/taskrouter/v1"
"github.com/RJPearson94/twilio-sdk-go/session/credentials"
)
var taskrouterClient *v1.TaskRouter
func init() {
creds, err := credentials.New(credentials.Account{
Sid: os.Getenv("TWILIO_ACCOUNT_SID"),
AuthToken: os.Getenv("TWILIO_AUTH_TOKEN"),
})
if err != nil {
log.Panicf("%s", err.Error())
}
taskrouterClient = twilio.NewWithCredentials(creds).TaskRouter.V1
}
func main() {
paginator := taskrouterClient.
Workspace("WSXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX").
Worker("WKXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX").
Channels.
NewChannelsPaginator()
for paginator.Next() {
currentPage := paginator.CurrentPage()
log.Printf("%v channel(s) found on page %v", len(currentPage.Channels), currentPage.Meta.Page)
}
if paginator.Error() != nil {
log.Panicf("%s", paginator.Error())
}
log.Printf("Total number of channel(s) found: %v", len(paginator.Channels))
}