Sometimes when I read the posts in the forum, I can see people interfacing with Facebook APIs directly (e.g. sending out requests via http or curl, and then decoding the response from Faecbook) without using a SDK (e.g. php sdk).
The question that came into my mind usually is: “why they need to code at such a low level?”
My preferred way of doing Facebook Development is to use a SDK. That shields me from the low level details on how the requests is formatted and how to decode the response, I do not need to care too much about the authentication details.
Not until times where there is a limitation / feature not implemented in the SDK, I will then directly code against Facebook APIs via curl. An example is that in earlier version of the PHP SDK, uploading photo is not supported and therefore I have to use curl to send out the Graph API request for uploading a photo to the user’s album.
I do not know why people do not use a SDK… for performance? Facebook does not promote that (as most of the doc in Facebook is describing how to use those requests in http / curl format)?
Try to use a SDK….. it may not be perfect but it should save you some headache in most of the time.