I'm working on picture contest site which have to allow user to vote with facebook like button. At the end of a round, a have to check all picture likes and store it in our database. Well, what's proper way of doing this? How can I use links.getStats function for getting that data and storing it in the database?
Similar question is found here:
How can I store the number of facebook Likes of a particular url in my own database?
but it isn't answearing my question because I have to get exact number of likes/votes in short period in time.
I'm using ASP.NET MVC but any other solution should be fine.
Use a js callback to record the like button clicks (probably via an ajax call back to your db).
FB.Event.subscribe('edge.create', function(response) {
// do something with response.session
});
See https://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/ for more details.
Related
I am making a raffle within the people that had make an "I like" to a certain article of my external website (non facebook). In order to choose the winner I need to know who has made the I like.
This query:
https://api.facebook.com/method/fql.query?query=select%20like_count%20from%20link_stat%20where%20url='myWEBSITE'&format=json
Only get me the total count of I Likes but not the users ID
This query is perfect:
https://api.facebook.com/method/fql.query?query=SELECT%20user_id%20FROM%20like%20WHERE%20object_id%3D%MY_object_ID&access_token=MY_ACCESS_TOKEN
But how do I get an OBJECTID for an external url??
Thanks in advance
Object can be any thing like video, note, link, photo, or album but can not be any FB page or Url.. So I guess its not possible to get the user Id for a URL.
If you are using JS SDK / Like plugin in your website to like it, i think you can subscribe to an event and then use some ajax calls to get those userIds whenever they instantly like it.
See Somnath Muluk's answer in https://stackoverflow.com/a/13467793/269521
I have a website called example.com with several internal pages that are liked.
I created a FB app.
when a user authenticates the FB app, I want to fetch ALL user likes such as: example.com/page1, example.com/page2, etc.
(a single user can have up to 100+ likes on the internal pages of example.com) I essentially want to get all the liked URL's (and associated FB graph ID) the authenticated user has made on my example.com website.
is there a way to do this?
perhaps via a facebook.api call? or perhaps a FQL query? I am open to PHP or JS.
please help! thanks.
...fyi, My initial thought is to for each user, fetch ALL their likes, parse through each one to make sure it came from example.com, and then store those like URL's into a local database. when the user re-visits the site, I will query my database for likes associated with that user. this did not seem the most efficient as it would require storing all likes ever made on my website. any help would be much appreciated.
If you just want to store when a user likes a page on your website why not make use of the edge.create and edge.remove events the Facebook JS SDK provides? Example:
FB.Event.subscribe('edge.create', function(targetUrl, elm) {
// Make a request to server to save 'Like' information
});
FB.Event.subscribe('edge.remove', function(targetUrl, elm) {
// Make a request to server to remove 'Like' information
});
I see in the attributes of the like plugin, that the ref attribute might be what you could use to determine where a like came from. Of course your href attribute would need to be the same on all locations of the like button.
Or, you can register your site with facebook insights and track it there. See https://www.facebook.com/insights/
The User API reference is here: https://developers.facebook.com/docs/reference/api/user/
Here's how you get all the likes via the JS API (unless they're more than one page, they you get a subset of the likes):
FB.api('/me/likes', function(response) {
console.log(response);
});
You need to be logged in, and you need the user_likes permission.
I am developing a facebook application. When the user calls my App for the first time, I need to retrieve a big amount of data from his profile through the graph API. While doing this the canvas page of my application remains blank. What I want to do is while waiting the data to be fetched, show to the user a message ex "Please wait, loading..." instead of a blank page. How can I do that?
You need to use AJAX to make the request and then once you have the data use Javascript to insert it into the HTML.
These two tutorials may help:
http://jquery-howto.blogspot.com/2009/04/display-loading-gif-image-while-loading.html
http://codingrecipes.com/ajax-beginner-ajax-tutorial-display-a-progress-bar-or-a-loading-message
Ultimately, you should probably due some reading on Javascript and AJAX before you ask a question like this on StackOverflow. We can't write code for you.
I am currently planning a facebook integration on our website. In the example given at the Getting Started page (http://developers.facebook.com/docs/opengraph), you can see that I like "The Rock" on Imdb. If I were Imdb, would it be possible to query the user object to get all likes on Imdb? For example would it be possible for them to build a page like "these are the films where you clicked the like button on our website"?
Thank you for your answer!
To get the likes for a page you need to do this:
use http://graph.facebook.com/
this will return a JSON object be default. Just snatch the likes property off it.
http://graph.facebook.com/wearex3 for example
But what you are asking requires you to request access to the user's data and from there get all the likes.
http://developers.facebook.com/docs/opengraph and http://developers.facebook.com/docs/guides/web are what you want to read.
I need to find a way to know if the reader already liked my page. Is there a method in Facebook API to know this?
The like button handles this for you. It automatically toggles the state of the button depending on whether the user has already liked the page.
If you need this outside the use of the like button, then if your page is not of the type news article, then you should be able to look up whether the user has liked it by using a combination of the graph api and an FQL query to pull out the object id as defined in the documentation
Also, if you're working with an app in an iFrame, Facebook already passes in the signed_request ( https://developers.facebook.com/docs/authentication/signed_request/ ) a 'page' parameter which among other things lets you know if the current user already likes your page