1

查看 go-vcr 的设置

// Start our recorder
    r, err := recorder.New("fixtures/etcd")
    if err != nil {
        log.Fatal(err)
    }
    defer r.Stop() // Make sure recorder is stopped once done with it

    // Create an etcd configuration using our transport
    cfg := client.Config{
        Endpoints:               []string{"http://127.0.0.1:2379"},
        HeaderTimeoutPerRequest: time.Second,
        Transport:               r, // Inject as transport!
    }

尝试使用 githubv4 库来使用这个库似乎需要一种方法来处理 Oauth

import "golang.org/x/oauth2"

func main() {
    src := oauth2.StaticTokenSource(
        &oauth2.Token{AccessToken: os.Getenv("GITHUB_TOKEN")},
    )
    httpClient := oauth2.NewClient(context.Background(), src)

    client := githubv4.NewClient(httpClient)
    // Use client...
}

我不确定如何将记录器“r”放入 oauth2 客户端。如果可能的话。

有人成功了吗?我试过用'r'记录器传入一个httpClient,但它最终是401 - 看起来这个默认客户端不能做Oauth舞。

我想使用 GraphQL API,但如果更容易的话可以回退到 REST API,但我只是想确保这不是真的可能。有没有其他人成功过这个?

4

0 回答 0