The publish_stream permission allows you to publish content on this particular user wall - you cannot publish all your friends on the wall.
Think of it this way: say that you did not allow the application to publish anything on your facebook wall, but only because one of your friends granted access to its wall - it does not automatically give access to the application for publication on the wall of all its friends .
EDIT
Rahul, I tried last night to log in as I did and send a message on the wall of one of my friends through my application, and surprisingly it worked. I had the wrong impression that you could not do this. My apologies.
But I still can't figure it out. Let me explain
1) I have my real facebook lets call it abc and a test facebook account xyz which I've added as my friend to abc
2) I login into my app using my abc faceboook account and publish a message on the wall of my friend xyz
3) Now I login to facebook.com as abc and it shows on my news feed the message that I published on xyz wall. When I click on xyz profile - the message shows up on his wall too. So far so good
4) Now I log out of facebook.com as abc and log back in as xyz. But now I dont see the message that was posted through the app on the wall of xyz.
I do not know if there is any delay, but I waited 30 minutes, but still it was not there. But it continues to be displayed at login as abc.
Hope you understand what I'm trying to convey here. I used the same piece of code as yours - so you can try the above scripts and see if you have something like that
thanks
source share