Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Find Facebook user (url to profile page) by known email address

I have an email address and want to find out if there is a Facebook user linked to this address. If there is, then I want to retrieve the url to this users profile page and save it somewhere. I do not have a facebook application, but, if necessary, I would use existing account data to login to facebook and perform the task.

I thought this would be an easy task, but somehow it's not. I read through the Graph API documentation and there you find instructions on how to search public data. It says the format is:
https://graph.facebook.com/search?q=QUERY&type=OBJECT_TYPE

But trying this with an email address in the q param and user in the type param without further information results in an OAuthException saying "An access token is required to request this resource." However, if you click the example search links Facebook generates a url with the mentioned access token related to the currently logged on user. Performing searches with this token gives the expected results. But i cannot figure out how to get this user session access token after logging in. Every time I search on how to get an access token I only find information regarding Facebook apps and retrieving permissions for basic or specific data access. This is, as I mentioned, not what I am looking for, as I don't have and don't need a facebook app.

Since Facebook gives me the needed token in the example links I thought it shouldn't be a problem to get it too. Or do they only have it because of home advantage? Also, the Outlook Social Connector Provider for Facebook is able to retrieve Facebook data just via an email address (and the account data provided). So I thought, if Microsoft can do this stuff I should be also possible to do simliar things.

Last but not least this is the more frustrating since I, theoretically and practically, am already able to find users profile url just by searching for the email address. I don't even have to be logged on to Facebook. And it's not the official API way.
If I perform a web request to http://www.facebook.com/search.php?init=s:email&[email protected]&type=users I get the expected search result. The problem is that I have to parse the HTML code and extract the url (that's okay) and that the result page is possibly subject to change and could easily break my method to extract the url (problematic).

So does anybody has an idea what's the best way to accomplish the given task?

like image 665
Andreas Adler Avatar asked Mar 08 '11 15:03

Andreas Adler


People also ask

How do I find the URL of someone's Facebook page?

You can find a Facebook URL in the address bar at the top of the browser if you are using a computer. To find the URL for a personal page in the mobile app, tap the three-dot menu and find the address in the Profile link section.

Can you find someone on Facebook with an email address?

On the web, type (or copy and paste) the email address of the person you want to find into the Facebook search field at the top of any Facebook page and press the Enter or Return key. On the app, tap the magnifying glass at the top of the screen, enter the email address into the search field and tap Go/Search.

What is a user profile URL on Facebook?

Your Facebook URL is simply the name of your page placed right after the web address of Facebook.


1 Answers

The definitive answer to this is from Facebook themselves. In post today at https://developers.facebook.com/bugs/335452696581712 a Facebook dev says

The ability to pass in an e-mail address into the "user" search type was removed on July 10, 2013. This search type only returns results that match a user's name (including alternate name). 

So, alas, the simple answer is you can no longer search for users by their email address. This sucks, but that's Facebook's new rules.

like image 194
Dave Sag Avatar answered Oct 14 '22 17:10

Dave Sag