Facebook profile link/url

28 Dec 2019 Edited
#1
This issue is marked as solved
Is it possible to get the user his Facebook id/profile link from the data that is returned or should I specify another scope parameter?

At the moment the ID that is being returned is a random one I think

(https://www.facebook.com/profile.php?id=YOUR_ID_HERE or https://www.facebook.com/YOUR_FB_URL_NAME_HERE)

Best answer

Shade 7 Jan Edited
Apparently, Facebook limits profile URLs in API calls. You will have to:
KEYCAP 1 add user_link to the "Scopes" setting in Flyover Facebook panel. You will need to also add the default ones, so it should be: email, public_profile, user_link;
KEYCAP 2 submit user_link for App review on Facebook Developers website. You must comply with the rules mentioned in the screenshot below, otherwise it's likely they will reject your submission.

[Image: jeOGScC.png]

All replies

Shade 28 Dec 2019 Edited
#2
You can use the Identifier Custom Profile Field setting. Set up a field you want to fill it up with and enable it in Facebook's Synchronization options in Flyover's panel. It will return the plain user identifier. You can then manipulate that custom profile field as you want.

As stated in that particular setting description, note that Flyover uses a separate database table to store the hashed identifier which is used to authenticate users.
Enes Palit likes this post
Enes Palit 29 Dec 2019 Edited
#3
I tried it and was able to put the identifier in a custom profile field. Although I needed to first tick all the boxed, click save and then click Sync in order for it to fetch the data. Can that be made automatically (so automatically make all boxes enabled and synced) because I don't see my users doing those 3 steps. After clicking Login with Facebook they will think it's enough and that they are ready.

But now how do I find the profile link based on that identifier?

Is it possible to add Twitter, and other social account, identifier to another custom profile field? So every social account of the user will have other fields used? Otherwise the fields will be overwritten I suppose with the last used/linked account.

For some reason it shows no text next to the <input type="checkbox" name="providers[Facebook][language]" value="1">
https://snipboard.io/1YmXDb.jpg

Also if you registered before on the forum (with email for example [email protected]) and later go to User CP and go to Flyover "Third party integration" page and connect (and for example your Facebook account email is [email protected]), it doesn't do anything with the Facebook account mail. Anyway I can store the Facebook account email to a custom profile field?
Shade 29 Dec 2019
#4
Facebook probably uses a different identifier for profiles. Since it’s kind of difficult to keep up with these requests which are very specific, it is probably a good idea to add a bunch of hooks and let you customize your Flyover experience on your own.

Profile URLs do sound like a good addition though. I will need to make some changes to let you store them in different fields though.

The email is not currently within the synchronization range, but can be added as well.
Enes Palit likes this post
Enes Palit 29 Dec 2019
#5
"it is probably a good idea to add a bunch of hooks" do you mean you will add those hooks so we can do more or should I add them, not sure what you mean. Will that then make it possible to automatically sync upon linking?
Shade 29 Dec 2019 Edited
#6
I will add hooks in the next update. Note that it should automatically sync upon linking already.
Enes Palit likes this post
Enes Palit 30 Dec 2019 Edited
#7
Looking forward to the next update.
No it's not already automatically synced. When I first logged in with Facebook to create an account nothing is seen under Custom Profile Field. Also everything is unticked in the user CP. I first need to tick everything, click save. Then sync. Then it is visible under Custom Profile Field. Which I said in my first post. Tried it a couple times to see if it was me but always same result.
Also tried to set "One-click registration" to No to see if that fixes it but still the same. If that is set to No I get a page where I can verify if the data is correct. "Avatar, Website, Sex, Bio, Location, Username Identifier" are all ticked. But when I click on Save it redirects me to the forum like it should be but when I then go to user CP Third party integration all the boxes are not ticked anymore and there is nothing in Custom Profile Fields and avatar is also not synced.
My board url and Admin credentials are in PM already send if needed

Ps. This is still a thing: For some reason it shows no text next to the <input type="checkbox" name="providers[Facebook][language]" value="1">
https://snipboard.io/1YmXDb.jpg

I think it has to do with the language placeholder or so because on the registration page it is the same result.
Shade 30 Dec 2019
#8
I’ll double check this, albeit it is a bit odd no one reported it before.
Enes Palit likes this post
Shade 30 Dec 2019 Edited
#9
1) language is indeed missing from the language files. Will be added.

2) there is a little flaw in the logic indeed as it saves the user preferences upon registering, but does not synchronize it straight away. Will be fixed as well. Thank you for reporting.

You can follow Flyover's development status in this thread: Flyover development.
Enes Palit likes this post
Enes Palit 30 Dec 2019
#10
You're welcome!