func userFromReader(reader io.Reader, user *goth.User) error { u := struct { ID string `json:"id"` Email string `json:"email"` Name string `json:"name"` FirstName string `json:"given_name"` LastName string `json:"family_name"` Link string `json:"link"` Picture string `json:"picture"` }{} err := json.NewDecoder(reader).Decode(&u) if err != nil { return err } user.Name = u.Name user.FirstName = u.FirstName user.LastName = u.LastName user.NickName = u.Name user.Email = u.Email //user.Description = u.Bio user.AvatarURL = u.Picture user.UserID = u.ID //user.Location = u.Location.Name return err }
// [Private] userFromReader will decode the json user and set the // *goth.User attributes func userFromReader(reader io.Reader, user *goth.User) error { u := struct { ID string `json:"id"` Email string `json:"email"` Name string `json:"fullname"` FirstName string `json:"first_name"` LastName string `json:"last_name"` NickName string `json:"username"` Description string `json:"description"` AvatarURL string `json:"avatar_720_url"` Location string `json:"city"` }{} err := json.NewDecoder(reader).Decode(&u) if err != nil { return err } user.UserID = u.ID user.Email = u.Email user.Name = u.Name user.FirstName = u.FirstName user.LastName = u.LastName user.NickName = u.NickName user.Description = u.Description user.AvatarURL = u.AvatarURL user.Location = u.Location return nil }
func userFromReader(reader io.Reader, user *goth.User) error { u := struct { ID string `json:"id"` Email string `json:"email"` Bio string `json:"bio"` Name string `json:"name"` FirstName string `json:"first_name"` LastName string `json:"last_name"` Link string `json:"link"` Picture struct { Data struct { URL string `json:"url"` } `json:"data"` } `json:"picture"` Location struct { Name string `json:"name"` } `json:"location"` }{} err := json.NewDecoder(reader).Decode(&u) if err != nil { return err } user.Name = u.Name user.FirstName = u.FirstName user.LastName = u.LastName user.NickName = u.Name user.Email = u.Email user.Description = u.Bio user.AvatarURL = u.Picture.Data.URL user.UserID = u.ID user.Location = u.Location.Name return err }