Here's Facematch, a wrapper for the Facebook Face Recognition feature. I coded it super quickly to recognize my friends when they ring at the door. This is very simple at the moment and there's much to improve (almost no error handlers).
When you upload a picture on Facebook, the /photos/tagging/recognition
endpoint is called. This program uploads a private picture (using Facebook API) + calls the recognition endpoint (by simulating a browser using the user's information).
- Facebook App ID / App Secret (register a new app here: https://developers.facebook.com/apps)
- An active Facebook Account with friends (Facebook only recognizes your friends)
$ git clone https://github.com/louisondumont/facematch
$ cd facematch
$ npm install
1) Insert your App ID and Secret
2) Go to Facebook, open DevTools > Network.
3) Upload any picture but don't press "Post".
4) Look for the "recognition" endpoint.
5) "Request" > copy-paste the entire "cookie" string in config.js
6) "Form" (raw source) > copy-paste everything from "__user=" in config.js (req_params)
You can change the http port in config.js
$ node index.js
Navigate to http://localhost:3000/getAccessToken and give access to your Facebook account.
POST http://localhost:3000/recognize (accessToken = YOUR_ACCESS_TOKEN, url = YOUR_IMG_URL)