1
0
mirror of synced 2024-11-29 08:36:12 +03:00

added profile field to examples to fix failing builds

This commit is contained in:
Ayomide Onigbinde 2019-01-03 17:40:18 +01:00
parent 92e06df4a9
commit 2543a5afbb
4 changed files with 25 additions and 3 deletions

View File

@ -11,6 +11,10 @@ import (
"github.com/paked/messenger" "github.com/paked/messenger"
) )
//profileField is a slice of strings of the user profile field the developer wants access
var (
profileField = []string{"name", "first_name", "last_name", "profile_pic"}
)
var ( var (
verifyToken = flag.String("verify-token", "mad-skrilla", "The token used to verify facebook (required)") verifyToken = flag.String("verify-token", "mad-skrilla", "The token used to verify facebook (required)")
verify = flag.Bool("should-verify", false, "Whether or not the app should verify itself") verify = flag.Bool("should-verify", false, "Whether or not the app should verify itself")
@ -43,7 +47,7 @@ func main() {
client.HandleMessage(func(m messenger.Message, r *messenger.Response) { client.HandleMessage(func(m messenger.Message, r *messenger.Response) {
fmt.Printf("%v (Sent, %v)\n", m.Text, m.Time.Format(time.UnixDate)) fmt.Printf("%v (Sent, %v)\n", m.Text, m.Time.Format(time.UnixDate))
p, err := client.ProfileByID(m.Sender.ID) p, err := client.ProfileByID(m.Sender.ID, profileField)
if err != nil { if err != nil {
fmt.Println("Something went wrong!", err) fmt.Println("Something went wrong!", err)
} }

View File

@ -11,6 +11,11 @@ import (
"github.com/paked/messenger" "github.com/paked/messenger"
) )
//profileField is a slice of strings of the user profile field the developer wants access
var (
profileField = []string{"name", "first_name", "last_name", "profile_pic"}
)
var ( var (
serverURL = flag.String("serverURL", "", "The server (webview) URL, must be https (required)") serverURL = flag.String("serverURL", "", "The server (webview) URL, must be https (required)")
verifyToken = flag.String("verify-token", "mad-skrilla", "The token used to verify facebook (required)") verifyToken = flag.String("verify-token", "mad-skrilla", "The token used to verify facebook (required)")
@ -52,7 +57,7 @@ func main() {
client.HandleMessage(func(m messenger.Message, r *messenger.Response) { client.HandleMessage(func(m messenger.Message, r *messenger.Response) {
fmt.Printf("%v (Sent, %v)\n", m.Text, m.Time.Format(time.UnixDate)) fmt.Printf("%v (Sent, %v)\n", m.Text, m.Time.Format(time.UnixDate))
p, err := client.ProfileByID(m.Sender.ID) p, err := client.ProfileByID(m.Sender.ID, profileField)
if err != nil { if err != nil {
fmt.Println("Something went wrong!", err) fmt.Println("Something went wrong!", err)
} }

View File

@ -14,6 +14,11 @@ import (
"github.com/paked/messenger" "github.com/paked/messenger"
) )
//profileField is a slice of strings of the user profile field the developer wants access
var (
profileField = []string{"name", "first_name", "last_name", "profile_pic"}
)
const ( const (
webhooksPath = "/webhooks" webhooksPath = "/webhooks"
loginPath = "/signin" loginPath = "/signin"

View File

@ -150,7 +150,15 @@ func (m *Messenger) Handler() http.Handler {
return m.mux return m.mux
} }
// ProfileByID retrieves the Facebook user profile associated with that ID // ProfileByID retrieves the Facebook user profile associated with that ID.
// According to the messenger docs: https://developers.facebook.com/docs/messenger-platform/identity/user-profile,
// Developers must ask for access except for some fields that are accessible without permissions.
//
// These fields are
// - Name
// - First Name
// - Last Name
// - Profile Picture
func (m *Messenger) ProfileByID(id int64, profileFields []string) (Profile, error) { func (m *Messenger) ProfileByID(id int64, profileFields []string) (Profile, error) {
p := Profile{} p := Profile{}
url := fmt.Sprintf("%v%v", ProfileURL, id) url := fmt.Sprintf("%v%v", ProfileURL, id)