It seems that the birthday_date is not available on the User object returned from the Graph API. It may have been available in Facebook's old REST API and it is available in the user table using FQL. The getUserProfile() method fetches from the Graph API, so that isn't available unless I were to turn around and do FQL to get the birthday.
So, here are the choices:
- Change getUserProfile() to do both...fetch most of the profile from the Graph API and then do FQL to get the birthday_date. This isn't desirable because it would be inefficient, especially for those apps who won't even use the birthday_date.
- Change getUserProfile() to do only FQL. Possible, but I'd rather not rely on FQL for most API binding methods.
- Change getUserProfile() to do the conversion of birthday to a java.util.Date for you (handling any locale-specific problems in the process). This is the most desirable option, although it may be a bit tricky. I'll look into it.
- You can do the FQL yourself to get the birthday_date if you want. The latest Spring Social Facebook 1.1.0.BUILD-SNAPSHOT builds have support for FQL via the Facebook.fqlOperations() method. This will give you the most immediate option, although will require more work on your part.
I do tend to agree that fetching the birthday as a Date is a nice thing and I'll look into making it possible. In the meantime, doing your own FQL should work.
Craig Walls
Spring Social Project Lead