Question

I feel like every second question i ask here is relating to Facebook Connect - that says a lot about their API. Anyway, that's politics, i digress..

I'm trying to pull back user details from the Graph API for use in my application (which is an FBML external website - JavaScript SDK for authentication).

I have requested the following permissions from the user: (using the regular dialog)

  • publish_stream
  • email

This works, and allows me to post to the user's wall, and grab their email from the Graph API.

But when i do a HTTP GET Request to the following URL:

https://graph.facebook.com/uid?access_token=oat (where uid = the user id of the user i'm attempting to grab details for, and oat = the OAuth token i have).

All that comes back in the JSON is the User ID (which i already have, since im putting it in the URL), and the email.

Why can i not get things like first name, last name, locale, etc?

Am i using the wrong URL? Is my OAuth token wrong?

I'm getting the OAuth token from here:

https://graph.facebook.com/oauth/access_token?type=client_cred&client_id=myappid&client_secret=myappsecret

UPDATE:

It looks like the issue is my OAuth token.

Because when i go to the docs: http://developers.facebook.com/docs/api

And use the sample OAuth Token for the user im trying to retrieve, it gets all the details.

Anyone know what is wrong with my OAuth token call?

Was it helpful?

Solution

So, i was using the wrong URL for the OAuth Exchange. It needed to be this: https://graph.facebook.com/oauth/exchange_sessions?type=client_cred&client_id=myappid&client_secrete=myappsecret&sessions=userseshid

The URL that i WAS using was as per the doco, the above one that works is nowhere to be found.

I'm at the point with FBC that i no longer care about the how, if it works, be thankful that it does even that and move on.

EDIT:

Also, i was wondering why the Graph API calls would "stop" working for no reason.

The answer is i needed to compare the Session Key used to obtain the OAuth token, with the Session Key currently in the cookies. If they are different, i needed to get a new OAuth token.

The session key used for any OAuth token is part of the actual OAuth token:

aaa|bbbb|cccc

Where bbbb is the session key. So i just compare that before doing any Graph API calls.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top