Facebook Graph: Match friends - facebook-graph-api

I am trying to see if two facebook users are friends. I could've used graph api .../user1/friends/user2 but instead of actual user ids I have scoped ids (facebook js sdk returns scoped ids). So how can I use user scoped ids to see if they are friends using Facebook js sdk?
Thanks all

This should still work with App Scoped IDs: /me/friends/[app-scoped-id]
It also works with two different App Scoped IDs: /[id1]/friends/[id2]
I just tried it with v2.5 of the Graph API in the API Explorer and got the friend with the App Scoped ID. If it returns nothing, the users are no friends - or they did not authorize your App with the user_friends permission.
Of course both users must have authorized your App for this, for privacy reasons.

Related

Parse-Server Facebook login - link users with Business Mapping API?

I'm Using ParseServer with two different client applications. Since each mobile app is associated with a different Facebook app (different app names, logos...), the current Facebook policy is to issue a foreign user id for same users when authenticating through different Facebook apps.
We'd like to link those two user ids in ParseServer so they will share a single user account. Even when authenticating via different Facebook apps.
According to Facebook documentation the way to do that is by using the token_for_business or "Business Mapping API" to match two user IDs that belong to a single user.
However, ParseServer documentation does not indicate how to use token_for_business or "Business Mapping API".
We are currently using the /users (POST) endpoint for login and registration passing the authData structure for Facebook when Facebook auth is performed.
Assuming ParseServer uses the authData.facebook.id attribute in order to look for existing users once a new login request arrives, its possible to call the facebook API GET /me/ids_for_business and substitute the id in authData with a previously existing user id.
Is this a recommended approach?
Ideally, I'd like to just add my token_for_business to the authData in the login request and have Parse do the rest of the work. Is that supported?
Lastly, is it at all possible to link two facebook users in ParseServer? the authData structure does not seem to allow is as the "facebook" id section is no in any type of array - it seems there is no way to express dual facebook ids under a single user.. Is this changed at any future parse version (currently using Parse 1.6.14 in the client and ParseServer 2.2.19)
Thanks,
Ron

Corona SDK Facebook returns app_scoped_id and not my normal user_id

If I have understood it correctly Facebook made some changes so it returns app_scoped_id instead of the normal user_id.
The problem I have now is that no other function seems to work.
I receive an I id from Facebook, and it's the same each time I login, but if I use facebook.request("me/friends") the table is empty, if I use facebook.showDialog("friends") it
What do I need to do in Corona SDK to get this to work? Before I could use these functions after having setup them up in Facebook.
I read this thread explaining why this happen but it doesn't explain how to solve it in Corona SDK: Get Users App-Scoped user id in Facebook Graph API
As of Facebook API v2.0, friends list (/me/friend) returns ONLY user's friends who are already using your application. This limitation applies to all apps that are on v1.0 mode too.
If you're looking to get friends for tagging actions: https://developers.facebook.com/docs/graph-api/reference/v2.0/user/taggable_friends
If you're looking to get friends for inviting to a Facebook Game on Canvas: https://developers.facebook.com/docs/graph-api/reference/v2.0/user/invitable_friends
Cheers!

Graph API me/friends/ always return empty

i used to create Facebook APP, checked to get friends list using Access token from Graph API Explorer, it always returning empty data
https://developers.facebook.com/docs/apps/changelog
https://developers.facebook.com/docs/apps/upgrading/
Check those Links, Facebook made a big step forward towards privacy. /me/friends only returns friends who authorized the App too, that´s why the result is empty.
With the introduction of the Facebook Graph API 2.0, access a user’s friends list was removed and limited to just friends who use the same application. However, Facebook added two new APIs to allow retrieval of Friend names (and indirectly a friend count). The two new APIs are taggable_friends and invitable_friends.
In v2.0 of the Graph API, calling /me/friends returns the person's friends who also use the app.
Check this link: Facebook Graph Api v2.0+ - /me/friends returns empty, or only friends who also use my app
When I login with ID my friend and retry send request "me/friends" again. It return ID my Facebook to me. If you need test, you can use this way.
I have currently find this one useful, just posting a snippet:
FB.ui({method: 'apprequests',
message: 'Please sign up .',
filters: ['app_non_users']
}, function(response){
console.log("Response from app requests:"+response);
});
Reference url https://developers.facebook.com/docs/games/requests/v2.1#params
Facebook was updated with version 2.0,
if you want to use Graph API me/friends/, you need to submit your app for review.
Steps to do it:
goto your Apps --> status and Review ---> start a Submission.
then you need to provide your information for review with screen shot.
Submit Items for Approval
Some Facebook integrations require approval before public usage.
Before submitting your app for review, please consult our Platform Policy and Review Guidelines.

Do I really need to register an app to show a simple 'friends' list on my website?

I want to use the Facebook (Graph) API to show a list of names and pictures of friends of a facebook account (which I own). Do I really need to register my website as an app for this? Since I don't really think of my website as an app... Or can I somehow get an access token that doesn't expire since I can grant access to this list of friends myself?
Think of an app on Facebook as an API Key. Your App is how Facebook identifies who is making the call, what permissions you have, and if you are abusing the system or not.
And no, you can't get access to most Graph API data without a valid Facebook App.

Using Graph to get a list of all my App IDs

Does anybody know if it possible to pull a list of the IDs for all the apps that I own in Facebook?
I know that each app has its own ID in the Graph (an example is here), but there doesn't appear to be connection between that and the ID of the Facebook user who created the app.
Basically, I need to script a management tool.
The app profile pages should be visible at /me/accounts when you use an access token with manage_pages permission - i'm not aware of any other way to retrieve a list of apps you admin