views:

278

answers:

1

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?

+1  A: 

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.

RPM1984

related questions