本文整理汇总了Golang中github.com/smagic39/goth.User类的典型用法代码示例。如果您正苦于以下问题:Golang User类的具体用法?Golang User怎么用?Golang User使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了User类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: userFromReader
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
}
示例2: FetchUser
// FetchUser will go to Twitter and access basic information about the user.
func (p *Provider) FetchUser(session goth.Session) (goth.User, error) {
user := goth.User{
Provider: p.Name(),
}
sess := session.(*Session)
response, err := p.consumer.Get(
endpointProfile,
map[string]string{"include_entities": "false", "skip_status": "true"},
sess.AccessToken)
if err != nil {
return user, err
}
defer response.Body.Close()
bits, err := ioutil.ReadAll(response.Body)
err = json.NewDecoder(bytes.NewReader(bits)).Decode(&user.RawData)
if err != nil {
return user, err
}
user.Name = user.RawData["name"].(string)
user.NickName = user.RawData["screen_name"].(string)
user.Description = user.RawData["description"].(string)
user.AvatarURL = user.RawData["profile_image_url"].(string)
user.UserID = user.RawData["id_str"].(string)
user.Location = user.RawData["location"].(string)
user.AccessToken = sess.AccessToken.Token
user.AccessTokenSecret = sess.AccessToken.Secret
return user, err
}
示例3: userFromReader
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
}
示例4: userFromReader
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
}
示例5: userFromReader
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
}
示例6: userFromReader
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
}
示例7: userFromReader
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
}
示例8: userFromReader
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
}
示例9: FetchUser
// FetchUser will go to LastFM and access basic information about the user.
func (p *Provider) FetchUser(session goth.Session) (goth.User, error) {
sess := session.(*Session)
user := goth.User{
AccessToken: sess.AccessToken,
Provider: p.Name(),
}
u := struct {
XMLName xml.Name `xml:"user"`
Id string `xml:"id"`
Name string `xml:"name"`
RealName string `xml:"realname"`
Url string `xml:"url"`
Country string `xml:"country"`
Age string `xml:"age"`
Gender string `xml:"gender"`
Subscriber string `xml:"subscriber"`
PlayCount string `xml:"playcount"`
Playlists string `xml:"playlists"`
Bootstrap string `xml:"bootstrap"`
Registered struct {
Unixtime string `xml:"unixtime,attr"`
Time string `xml:",chardata"`
} `xml:"registered"`
Images []struct {
Size string `xml:"size,attr"`
Url string `xml:",chardata"`
} `xml:"image"`
}{}
login := session.(*Session).Login
err := p.request(false, map[string]string{"method": "user.getinfo", "user": login}, &u)
if err == nil {
user.Name = u.RealName
user.NickName = u.Name
user.AvatarURL = u.Images[3].Url
user.UserID = u.Id
user.Location = u.Country
}
return user, err
}