I had more success with facebook last week. Connecting to twitter and foursquare were faster to do than facebook because facebook uses a different authentication version and its documentation neglects to mention some things. The draft specs for OAuth 2.0 were helpful as were the developers forum and various blogs.
Facebook has recently implemented a system where you must request for extended permissions. This is advantageous for the user because it allows a fine grained control of what an application can access. Apparently you need additional permissions to get the logged in user’s data. Since my test was to access the data from me/ I kept thinking there was an error with the token when it was actually a matter of permissions. You also need to explicitly specify type=user_agent when requesting for an access token. Another thing I overlooked is that in the query string the keys and the values need to be encoded separately. The code facebook returns is what gave me trouble, the character “|” for example which is represented as %7C.