I’ve pretty new to using FQL in any form, sorry if this is a simple question, but I can’t seem to get around it.
I have this code that’s attempting to get a Friend list:
var query = FB.Data.query('SELECT '+response.id+', '+response.name+' FROM friendlist from user where uid=' + response.id);
But the response I keep getting back is
“An active access token must be used to query information about the current user.”
When I pull back the response object from the /me query I see all my information such as location, name, work, etc. But I don’t see any access token
The code starts like this:
window.fbAsyncInit = function() {
FB.init({appId: '12...0', status: true, cookie: true, xfbml: true});
/* All the events registered */
FB.Event.subscribe('auth.login', function(response) {
// do something with response
login();
});
FB.Event.subscribe('auth.logout', function(response) {
// do something with response
logout();
});
FB.getLoginStatus(function(response) {
if (response.session) {
// logged in and connected user, someone you know
login();
}
});
How do I acquire an access token and provide along with the FQL query?
Thanks for any advice ahead of time!
The access token that you have to use in order to do all types of requests to the Graph API (including FQL queries) is given by facebook after the user has succesfuly logged in.
If you are using firebug do a
console.log(response)after the user logs in to see the object that you receive.It should contain 3 properties:
perms,sessionandstatus.permscontains a list with permissions granted by the user, thestatusit’s the status of the current user. What matters to you is thesessionproperty. This one it’s also an object that among others has aaccess_tokenproperty (string) which you can use to do requests to API.So, your query may look like this:
If you want to get the session in a better way, use
FB.getSession, which returns the current session. More info here.Good luck !