-
-
Save adamloving/783822 to your computer and use it in GitHub Desktop.
/* | |
For more detailed instructions on how to use this script, sign up with your email here: | |
http://adamloving.com/internet-programming/how-toexport-facebook-page-fans | |
DISCLOSURE: This javascript runs in your browser pretending to be you | |
looking through your page fans. Facebook should have no problem with this, | |
but who knows if they will think it is strange to see you looking through | |
all your fans so quickly (the script waits 3s before requesting each page). | |
I've had no problem running this so far for 1000s of page fans, but I | |
cannot be held liable if your Facebook account gets banned or your page | |
gets disabled for any reason for using this script. | |
INSTRUCTIONS: | |
1. Download Google Chrome Web browser (or Apple Safari) | |
2. Enable the developer tools | |
3. Open the javascript console and cut and paste the attached script into the console. | |
The script will fetch users 100 at a time and output the results into the console which you can then cut and paste into a CSV file. | |
*/ | |
var uri = '/ajax/social_graph/fetch.php?__a=1'; | |
var lastResponse = null; | |
var usersPerPage = 100; | |
var totalUsersDownloaded = 0; | |
var throttle = 3000; // how long to wait between pages | |
var startPage = 0; | |
var endPage = 10; // change this if you have more than 1,000 fans | |
// Find the social graph node ID (page profile ID) by peeking at meta tags | |
var getNodeId = function() { | |
var metaTags = document.getElementsByTagName('meta'); | |
for (i in metaTags) { | |
var tag = metaTags[i]; | |
if (tag.content && tag.content.match(/_([0-9]+)_/)) { | |
return tag.content.match(/_([0-9]+)_/)[1]; | |
} | |
} | |
return null; | |
} | |
// Process the AJAX call response and dump the user data to the console | |
var OnResponse = function(e) { | |
console.log('--- Page: ' + e.payload.page); | |
lastResponse = e; // for debugging | |
for (userId in e.payload.user_info) { | |
var userData = e.payload.user_info[userId]; | |
totalUsersDownloaded++; | |
console.log('http://www.facebook.com/profile.php?id=' + userId + ',' + userData.title + ',' + userData.subtitle + ',' + userData.pic) | |
} | |
console.log('Downloaded: ' + totalUsersDownloaded + ' of ' + e.payload.count) | |
if (e.payload.page <= endPage && totalUsersDownloaded < e.payload.count) { | |
setTimeout(function() { downloadUsers(e.payload.page + 1); }, 3000); | |
} | |
} | |
// Make an AJAX call for the data using FB's AJAX library | |
var downloadUsers = function(page) { | |
var nodeId = getNodeId(); | |
if (!nodeId) { | |
alert('Sorry couldn\'t find profile ID'); | |
return; | |
} | |
var data = { | |
edge_type: 'fan', | |
page: page, | |
limit: usersPerPage, | |
node_id: nodeId, | |
'class': 'FanManager', | |
post_form_id: document.getElementById('post_form_id').value, | |
fb_dtsg: document.getElementsByName('fb_dtsg')[0].value, | |
lsd: null, | |
post_form_id_source: 'AsyncRequest' | |
} | |
var req = new AsyncRequest() | |
.setURI(new URI(uri)) | |
.setMethod('POST') | |
.setData(data) | |
.setHandler(OnResponse); | |
result = req.send(); | |
} | |
downloadUsers(startPage); |
Hi adamloving, would it be somehow possilble to buy the new script from you? Thanks!
Hi guys,
I'm trying to get the info from my fan page. I use Chrome and i'm an admin of the page.
I've changed the var nodeId to my profile ID. I still get this error:
POST https://www.facebook.com/ajax/social_graph/fetch.php?__a=1 404 (Not Found)
Any clue???
Thanks
I try this script and take the same error above.
What can I do?
Does this script still work. I noticed that the AJAX call on the FB insights tab when I request the Likes has changed. I tried running the script with a few modifications like the uri etc but the payload coming back is null
Same question?Does this script still work?
Hey guys, any update on this? Has it started working again? Can it still work as at now?
I Get Uncaught SyntaxError: Unexpected token *
Tried gain and got
Uncaught TypeError: Cannot read property 'value' of null
K67qezNkvZQ.js:125 GET https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-xpa1/t39.2365-6/851572_598595820234442_132828333_n.jpg net::ERR_NAME_NOT_RESOLVED
@adamloving and other programmers.
Hi
How do I gather ID's of PAGES, not the USERS on a page.
Example: I want to gather all ID’s of PAGES that contain the
Search keyword “XYZ” to message the PAGE ADMINISTRATOR.
If a brand has 1000+ facebook pages, then I would like to gather the ID’s of the brands pages.
I simply cannot find a solution online, nor can figure our whether your software can achieve this result.’
Many thanks
moss.27@hotmail.com
Hi adamloving ,
Fetching Pages fans detail is possible now a days ??
Is there gonna be any other update to this?
Too bad that I can not extract the list of a page fans as non-administrator for blacklisting them from accessing my another page.
Is there something that is not expired?
Do you know that you can use an easier way? There’s excellent software Cucomm that copes with such tasks. The software collects fb profiles, adds them to friends and automatically sends messages. At the same time, you don’t need to enter your password, and there’s no chance of being blocked. Advice u to try it.
I can't stress enough how a lot of people would be willing to pay for the new script. It seems a strange way to supply the latest version only to people who've bought the old version.