Skip to content

Instantly share code, notes, and snippets.

@peteretelej
Created December 17, 2017 06:07
Show Gist options
  • Save peteretelej/bb2d93ffcb6f343ac80476008471665b to your computer and use it in GitHub Desktop.
Save peteretelej/bb2d93ffcb6f343ac80476008471665b to your computer and use it in GitHub Desktop.
github followers / following
package main
import (
"context"
"encoding/json"
"fmt"
"io/ioutil"
"log"
"github.com/google/go-github/github"
)
func main() {
client := github.NewClient(nil)
opts := &github.ListOptions{}
var all []github.User
opts.Page = 1
for {
users, _, err := client.Users.ListFollowers(context.Background(), "peteretelej", opts)
if err != nil {
log.Fatal(err)
}
if len(users) == 0 {
break
}
for _, u := range users {
all = append(all, *u)
}
opts.Page += 1
}
fmt.Printf("all: %d", len(all))
dat, err := json.Marshal(all)
if err != nil {
log.Fatalf("json.Marshal: %v", err)
}
if err := ioutil.WriteFile("out.json", dat, 0755); err != nil {
log.Fatalf("writing file: %v", err)
}
}
package main
import (
"context"
"encoding/json"
"fmt"
"io/ioutil"
"log"
"github.com/google/go-github/github"
)
func main() {
client := github.NewClient(nil)
opts := &github.ListOptions{}
var all []github.User
opts.Page = 1
for {
users, _, err := client.Users.ListFollowing(context.Background(), "peteretelej", opts)
if err != nil {
log.Fatal(err)
}
if len(users) == 0 {
break
}
for _, u := range users {
all = append(all, *u)
}
opts.Page += 1
}
fmt.Printf("all: %d", len(all))
dat, err := json.Marshal(all)
if err != nil {
log.Fatalf("json.Marshal: %v", err)
}
if err := ioutil.WriteFile("out.json", dat, 0755); err != nil {
log.Fatalf("writing file: %v", err)
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment