func userFromReader(r io.Reader, user *goth.User) error { u := struct { Name string `json:"name"` Email string `json:"email"` Nickname string `json:"display_name"` AvatarURL string `json:"logo"` Description string `json:"bio"` ID int `json:"_id"` }{} err := json.NewDecoder(r).Decode(&u) if err != nil { return err } user.Name = u.Name user.Email = u.Email user.NickName = u.Nickname user.Location = "No location is provided by the Twitch API" user.AvatarURL = u.AvatarURL user.Description = u.Description user.UserID = strconv.Itoa(u.ID) 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"` 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.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 }
func userFromReader(reader io.Reader, user *goth.User) error { u := struct { ID string `json:"id"` Email string `json:"emailAddress"` FirstName string `json:"firstName"` LastName string `json:"lastName"` Headline string `json:"headline"` PictureURL string `json:"pictureUrl"` Location struct { Name string `json:"name"` } `json:"location"` }{} err := json.NewDecoder(reader).Decode(&u) if err != nil { return err } user.Name = u.FirstName + " " + u.LastName user.NickName = u.FirstName user.Email = u.Email user.Description = u.Headline user.AvatarURL = u.PictureURL user.UserID = u.ID user.Location = u.Location.Name return err }
func userFromReader(reader io.Reader, user *goth.User) error { u := struct { ID int `json:"id"` Email string `json:"email"` Bio string `json:"bio"` Name string `json:"name"` Picture string `json:"avatar_url"` Location string `json:"location"` }{} err := json.NewDecoder(reader).Decode(&u) if err != nil { return err } user.Name = u.Name user.NickName = u.Name user.Email = u.Email user.Description = u.Bio user.AvatarURL = u.Picture user.UserID = strconv.Itoa(u.ID) user.Location = u.Location return err }
func userFromReader(r io.Reader, user *goth.User) error { u := struct { Country string `json:"country"` DisplayName string `json:"display_name"` Email string `json:"email"` ID string `json:"id"` Images []struct { URL string `json:"url"` } `json:"images"` }{} err := json.NewDecoder(r).Decode(&u) if err != nil { return err } user.Name = u.DisplayName user.Email = u.Email user.UserID = u.ID user.Location = u.Country if len(u.Images) > 0 { user.AvatarURL = u.Images[0].URL } return nil }
func userFromReader(r io.Reader, user *goth.User) error { u := struct { Name string `json:"display_name"` NameDetails struct { NickName string `json:"familiar_name"` } `json:"name_details"` Location string `json:"country"` Email string `json:"email"` }{} err := json.NewDecoder(r).Decode(&u) if err != nil { return err } user.Email = u.Email user.Name = u.Name user.NickName = u.NameDetails.NickName user.UserID = u.Email // Dropbox doesn't provide a separate user ID user.Location = u.Location return nil }
func userFromReader(reader io.Reader, user *goth.User) error { u := struct { Account struct { DropletLimit int `json:"droplet_limit"` Email string `json:"email"` UUID string `json:"uuid"` EmailVerified bool `json:"email_verified"` Status string `json:"status"` StatusMessage string `json:"status_message"` } `json:"account"` }{} err := json.NewDecoder(reader).Decode(&u) if err != nil { return err } user.Email = u.Account.Email user.UserID = u.Account.UUID return err }