My experience with Drupal and Facebook
I'm neither a drupal nor facebook guru, but I have tried my hand at drupal-facebook api integration (5.x mostly 9 months ago so I'm not abreast of new development), and I just wanted to share my experiences as someone only moderately familiar with both platforms. First of all progress on the drupal - facebook integration front seems slow in general and the modules out there don't seem very mature.
I tried both of the module sets listed on this group - one by Dave Cohen and one by James Andres. Despite the fact that Dave Cohen's module set seems to have to more tutorials and activity here, I found James Andres immature modules were easier to implement because they were more minimal in what they attempted to do. They were a quicker start. For example Dave's examples required that you install more modules ad apply more settings that didn't seem necessary to have rudimentary facebook functionality. James' facebook app approach was simple and straightforward. It basically gives you some rudimentary way to create accounts and authenticate via facebook apps. Then it exposes the facebook api to your code within drupal. I personally favor a more minimalist approach to facebook integration with drupal because the facebook api is not that complex. Working with facebook through drupal should be abstracted as little as possible so that it's easy to figure out how to do things by reading the facebook api documentation.
Drupal does pose some hurdles for facebook integration. I think the authentication scheme incongruities have been discussed here. Also, it seems difficult to include an FBML form element like '<fb:multi-friend-selector...' in a drupal form because the drupal forms api only produces standard html form content.

Facebook Stream module is simple
Jin,
I found this module http://drupal.org/project/facebook_stream is far more simpler in implementation of facebook API with Drupal
MultiFeedStory in facebook_stream?
Thanks asif for your suggestion. Is there any functionality in the Facebook Open Stream API equivalent to a MultiFeedStory in FBML that allows your to post a message to a friend's stream (http://wiki.developers.facebook.com/index.php/MultiFeedStory_form)? Basically, I'd like to create an application that allows a user to post a message to a friend's wall. In FBML, you can do that through a feed form using a MultiFeedStory form.
In fact, ONLY a FBML multiFeedStory seems to allow a user to post a message to a friend's stream. Neither the Open Stream API (stream.publish) nor the vanilla facebook API (feed.publishUserAction) allows you to publish to a friend's stream. Is this correct?
Has anyone been able to implement a multiFeedStory in conjunction with Drupal. I'm getting validation errors because facebook does some intermediary processing before posting the form back to my server.
Hi Jin, Using stream publish
Hi Jin,
Using stream publish API we can post on the friends wall. We need to specify the target_id this may be user or the Page where you are publishing the content. If you specify a target_id, the post appears on the Wall of the target user, not on the Wall of the user who published the post. This mimics the action of posting on a friend's Wall on Facebook itself.
This will be good feature for the facebook_stream module. Using facebook_stream module a user can publish his status message. We will think about this feature and try to add it to the next release of facebook_stream module.
Stream publish and FBML MultiFeedStory Crucial Difference
Prajwala,
If I understand correctly, there IS a crucial difference between Open Stream API publish and FBML MultiFeedStory form. The fbml MultiFeedStory form allows you to publish to any friend of the current user. That is, the user can post on any friend's wall through your application. The Open Stream API ONLY allows an application to publish to someone who has granted your application permission to do so. Therefore, an application can not publish to a friend's stream who has not granted your application the correct permissions.
Is that correct? If so, I'd prefer to use the MultiFeedStory form.
Jin
jin, Yes you are correct, to
jin,
Yes you are correct, to post a message using open stream api, the user has to give permission your application.
in my defense
A couple things about Drupal for Facebook...
As you point out it does have a lot of modules. But you don't need them unless you plan to use them. Try enabling only fb.module... boom, now you have the facebook APIs. Next, enable fb_app.module if you want Drupal for Facebook to manage your api keys and what not. Your idea that my code requires you to install more modules is backwards... the modules are there, you don't have to install them.
Drupal for Facebook supports multiple facebook apps on a single drupal. It also supports canvas pages and connect pages. For these reasons it may continue to be the most complicated option out there. It's cool that there are other options out there for those who don't need these things. That's part of the beauty of open source software.