猿问

golang google oauth2 - 无法获取用户信息

我正在为 google oauth2 https://github.com/golang/oauth2使用以下库


我正在使用示例中给出的代码(网址:http : //play.golang.org/p/qXyuaVEhyS,https : //godoc.org/golang.org/x/oauth2/google)


我能够获取授权码和令牌,但无法发出获取用户信息的请求


我的代码:


conf := &oauth2.Config{

        ClientID:     "my client id",

        ClientSecret: "secred id",

        RedirectURL:  "http://localhost:3000/googlelogin",

        Scopes: []string{

            "https://www.googleapis.com/auth/userinfo.profile",

        },

        Endpoint: google.Endpoint,

    }


m.Get("/googleloginrequest", func(r render.Render, request *http.Request) {


    url := conf.AuthCodeURL("state")

    fmt.Printf("Visit the URL for the auth dialog: %v", url)


    r.Redirect(url)


})


m.Get("/googlelogin", func(r render.Render, request *http.Request) {


        authcode := request.FormValue("code")


        tok, err := conf.Exchange(oauth2.NoContext, authcode)

        if err != nil {

            log.Fatal(err)

        }


        client := conf.Client(oauth2.NoContext, tok)


        resp, err :=client.Get("https://www.googleapis.com/userinfo/v2/me")


        r.JSON(200, map[string]interface{}{"status":resp})

    })

我在这里得到的回应非常大而且没有任何用户信息


有只小跳蛙
浏览 335回答 1
1回答
随时随地看视频慕课网APP

相关分类

Go
我要回答