So my company has a facebook page and they're wanting to pay the sales people bonuses based on how many of each of their customers liked my companies facebook page.
To do that right now someone in our marketing department is manually going through, getting the names, and doing queries one-by-one, to see if the person who liked the page is a customer and if so who's customer they are.
That seems excessively tedious. My question is... is there a way to automate that? I don't see anything in the Graph API / Page stuff that'd let you do that:
https://developers.facebook.com/docs/reference/api/page/
For that matter I'm not actually entirely sure how our marketing person is getting the names of people who liked the page. When I view the page I just see who, among my friends, liked the page. But then again they are an admin whereas I'm currently not (although I could get it fairly easily if I can show how my having admin access would be of benefit [and this would qualify I'm sure]).
Any ideas?
Short answer, no. You can't see who liked your page programmatically, you can only see manually on your facebook page if you go to the new likes section.
You can create a page app that when a user likes your page it prompts him to insert his information or something like that, but then again you won't capture the likes that are made directly on your page, only the ones made inside de app
Related
I'm trying to create a small recommendation system based on what pages people like in Facebook. This is how it will work:
someone will login with Facebook
accept the terms to retrieve information
then the program should get all pages this user liked
Concern
Since I have all the liked pages from a user, which page should be the most relevant for recommendation?
I was trying the Graph API Explorer from Facebook to get all my likes or even comments made to posts of a page that I liked, so with that I could count and prioritise the pages in my program.
However I thought this should be a security issue and after testing I confirmed that was not working (user access tokens permissions were selected correctly for this test).
Questions
Is there a way to make this work?
Should I use another solution?
We are working on ideas to provide an extra incentive for people to become and stay fans of a company Facebook page (on top of truly being a fan of course). some sort of loyalty program, if you will.
We are wondering if this is a technically and Facebook Platform policy-wise feasible idea.
The loyalty program would be an app that you can log in to with Facebook and that will see if you like a certain company page and since what date.
Is this something that be read using Object Likes?
https://developers.facebook.com/docs/graph-api/reference/v2.3/object/likes
If possible, we would like this information to raffle prizes among users that have liked that company page a certain amount of time. Is this something that would be against the Facebook Platform Policies?
https://developers.facebook.com/policy/
Section 4.5 says: "Only incentivize a person to log into your app, enter a promotion on your app’s Page, or check-in at a place. Don’t incentivize other actions."
It's not entirely clear if a setup as descrivbed above counts as "entering a promotion on your app's Page"
Any input on this would be well appreciated.
You can only read the Page likes with /me/likes, and you need the user_likes permission. You are not allowed to incentivize liking a Page. Like Gating is not allowed and you will not get user_likes approved for that.
Meaning, it´s not allowed and not even possible to reward users in any way for liking a Page. Users must like a Page only because they really want to.
This is a very interesting question! but actually I see no violation in doing so ... as I understand from your Question, it's not like you're buying the likes, but you're rewarding your fans - some sort of loyalty program - you also maintain your current fans and nothing wrong in that!
But seriously I understand your concerns about getting rejected by Facebook .. and I can't confirm you can pass the Facebook Review with this scenario!
So my advice to you is "try to build a prototype and submit it for reviewing" or "try to contact anyone from Facebook Support Team and validate your scenario with them".
Please share the updates with us :)
I've been researching this for a couple of days and I'm seing a lot of answers to similar questions and they are unfortunately all "No, you can't do that." So, perhaps you can help me find a more efficient way or perhaps you have a better answer.
I'm running a game at an event. When users sign up for my game, they'll authorize my Facebook app. They get points in my game for doing certain things. One of the things they get points for is Liking a chosen Facebook page.
They don't Like the page through any interface I control though, so I'm going to be running a process in the background which checks if my authorized users have liked the page.
I'm going to have tens of thousands of people playing this game though. I've got an access_token for each of them and I know I can fetch a list of likes for Person X with their access_token, but fetching 10,000+ lists of likes to check if they've liked the page seems ridiculous... especially since if they haven't liked it, I can't just cross them off the list. I need to keep checking every few minutes for the duration of the event just to see if they have liked the page yet and give them points. Once they have liked the page then I no longer need to keep checking them, but that's still going to require a ton of requests.
Is there a way that I can determine which of my 10k+ users, for whom I have individual access_tokens, have liked my page?
Or can I get list of people who have recently liked a particular page?
Any other suggestions?
EDIT: As the administrator of my FB page, I can use the website to just click through and I can see all of the people who have liked my page, so I feel like there should be some way to access this information programmatically as well. Am I just missing something?
This problem seems like a candidate for using FQL. There's a table called page_fan that acts as a join table between the user and page tables. You could run a query for each user to see whether a row exists for the chosen page. For example:
SELECT 1 FROM page_fan WHERE uid = me() and page_id = 8484927467
I'm running a game at an event. When users sign up for my game, they'll authorize my Facebook app. They get points in my game for doing certain things. One of the things they get points for is Liking a chosen Facebook page.
Please clarify some details on that:
is your game app running as a page tab app inside facebook, or some place else?
if it is running in a page tab, is that also the page they are required to like?
If that would be the case, you would get the info if the user has liked the page within the signed_request parameter automatically, no further API queries etc. necessary.
fetching 10,000+ lists of likes to check if they've liked the page seems ridiculous...
Keep in mind that you don’t have to go through each user’s list of likes, though – you can ask if someone liked a specific page by querying for /userid/likes/pageid. (I know, it’s still one request for each user.)
I need to keep checking every few minutes for the duration of the event just to see if they have liked the page yet and give them points. Once they have liked the page then I no longer need to keep checking them, but that's still going to require a ton of requests.
Are you aware of the method in the JavaScript SDK of binding an event to a user clicking a like button on your page? Maybe you could use that – implement the like button in your site, catch the event of the user using that very button to like the page … and then AJAX the fact that the like happened to your server, maybe make one more request for that particular user to verify that there’s no “cheating” involved (someone making a call to your AJAX endpoint themselves, without actually having liked) … and you should have what you want, right?
Hey guys go to the BANNED USERS panel at your page settings and select PEOPLE WHO LIKE YOUR PAGE. Thanks
i'm trying to make a facebook app, to make draws (like raffles) between the users who like my fan page, or eventually who likes a post.
I've been developing another app which do other stuff, but i'm stuck with this and it's really frustrating to not be able to do something so simple as this.
In the first place, i wish to make it available in a page tab (and that users doesn't need to "install" the app. Maybe this isn't needed if the user is just "looking" at a page that is loaded in my hosting)
Second, i don't know how could i get (assuming the one who enters the app/page tab is an admin) all the users who liked the page/post without using an access_token (because this damn access_token has an expiration time, and if i could, i'd try not to use an access token at all, since i assume the user who gets in into some parts is an admin
Any ideas?
You can't make an app that draws a contest winner from the people who like your page. Facebook does not allow you to query the fans of your pages anymore.
You can still query the users who like a post on your page though so you should set your contest up this way.
To get started, you'll need to create a connector app for your page. Users don't need to register for this app. As long as they like your page, your app will be able to access their public data. Your app will have an API key and secret. Using these, you'll be able to access information about your page.
To find a user who liked a post, you can query this with a variety of languages. I'm not sure which one you are using, so I'll give you instructions to do this from the Graph API Explorer: https://developers.facebook.com/tools/explorer
Make your post on a page, and type PAGE_ID_OR_USERNAME/feed where you replace PAGE_ID_OR_USERNAME with your page's id or username. Find the id of the post you just listed in there. It will look something like this: 213365490637345_40261112079719 (not a real post_id)
Now you can get all the user ids of people who liked that post by typing this into the explorer box:
fql?q=SELECT user_id FROM like WHERE post_id = "213365490637345_40261112079719"
And then choose a random id from that list and contact that particular user. You may have to use Facebook as your page when you try to contact them.
Background: My employer is running a contest and wants to find out who the 1000th person to 'like' the page is, and if they were referred by someone. Is that functionality build in already, or does an app have to be written to find out this info?
There's no way to get a list of page fans or the order in which they became fans, but you can track new fans who like your page via capturing the edge.create event in the javascript API when they click the Like button.
You could also check the current like count to come to some sort of conclusion about which order users became fans and which 'number' fan they are
I must point out though that running such a competition is expressly forbidden by Facebook's promotion guidelines: https://www.facebook.com/promotions_guidelines.php