[英]“go get” private github repository using two factor authentication
[英]Get GitHub repository's organization
我正在嘗試列出用戶的存儲庫並使用go-github獲取他們所屬的組織。
這些存儲庫屬於一個組織,但組織值似乎nil
。
代碼:
import "github.com/google/go-github/v37/github"
func GetClient(token) *GitHub {
ctx := context.Background()
ts := oauth2.StaticTokenSource(
&oauth2.Token{AccessToken: token},
)
tc := oauth2.NewClient(ctx, ts)
client := github.NewClient(tc)
return client
}
func main() {
client := GetClient("TOKEN")
repos, _, err := client.Repositories.List(context.TODO(), "", nil)
if err != nil {
log.Fatal(err)
}
for _, repo := range repos {
println(*repo.Name)
org := repo.GetOrganization()
println(org)
println(repo.Organization)
}
}
輸出:
api
0x0
0x0
api-inserter
0x0
0x0
bbprograms
0x0
0x0
console-api
0x0
0x0
console-spa
我知道這些存儲庫是用戶所屬組織的一部分。
您可以直接調用 API:
package main
import (
"encoding/json"
"fmt"
"net/http"
)
func main() {
r, err := http.Get("https://api.github.com/users/bradfitz/orgs")
if err != nil {
panic(err)
}
defer r.Body.Close()
var orgs []struct{Login string}
json.NewDecoder(r.Body).Decode(&orgs)
fmt.Printf("%+v\n", orgs) // [{Login:djabberd} {Login:camlistore} {Login:tailscale}]
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.