J'essaie d'écrire un programme go pour me connecter à l'api github et recevoir des notifications sur mon compte. Je peux obtenir des dépôts et des informations sur l'utilisateur assez facilement, mais j'ai du mal à obtenir des notifications, même si j'ai une notification sur mon compte, le tableau est toujours vide. Quelqu'un sait-il ce que je fais de travers ? Merci d'avance !
Voici mon code :
package main
import (
"fmt"
"log"
"golang.org/x/net/context"
"github.com/google/go-github/github"
"golang.org/x/oauth2"
)
func check(err error) {
if err != nil {
log.Fatal(err)
}
}
/**
* this function is used to get the repositories of the client
*/
func getRepo(client *github.Client) []*github.Repository {
ctx := context.Background()
repos, _, err := client.Repositories.List(ctx, "", nil)
check(err)
fmt.Printf("\n%v\n", github.Stringify(repos))
return repos
}
/**
* this function is used to get Authentification using a oauth token
*/
func getAuth() *github.Client {
ctx := context.Background()
// put your own OAUTH_TOKEN
ts := oauth2.StaticTokenSource(&oauth2.Token{AccessToken: "OAUTH_TOKEN"})
tc := oauth2.NewClient(ctx, ts)
client := github.NewClient(tc)
return client
}
/**
* this function is used to get notification on the client's account
*/
func getNotif(client *github.Client) []*github.Notification {
ctx := context.Background()
notifs, resp, err := client.Activity.ListRepositoryNotifications(ctx, "AlexandreMazgaj", "task_app", nil)
fmt.Printf("Status code of the response: %d\n", resp.StatusCode)
check(err)
return notifs
}
func main() {
// first we get authentification
client := getAuth()
// then we get the notifications
notifs := getNotif(client)
fmt.Printf("\n%v\n", github.Stringify(notifs))
}