Using Stream.Publish to publish to wall of Fan Page

Feb 6, 2010 at 3:27 PM

I am using latest (3.01?) SDK.

I have created a (Fan) Page called "DanceWeb"; I think this is public url?!/pages/DanceWeb/316030661254?ref=search&sid=801302224.375305148..1

I have previously obtained an APIKEY and SECRET.

I wish to post content to the Wall of the above Fan Page, preferably with an originators identity of "DanceWeb" , or if that is not possible, with my own name identity. The functionality would be similar to posting to my DanceWeb page on twitter via their API.

The fan page appears to have a page id of  316030661254. My own user id appears to be 801302224.

My api call is: api.Stream.Publish("", myattachment, myactionlinks, targetid, uid); 

I have tried just about every combination of the two ids as targetid and uid. The result is either that it posts to my own personal FB (page), or I get an error "The user hasn't authorized the application to perform this action".

I have spent hours trying this, and googling for a solution that works, but no success. If the problem is permissions, how do I set any required permissions please? 









Feb 10, 2010 at 5:01 PM

For this to work there is one obvious requirement ... the facebook page must grant permissions to your application.

There is also one not obvious and not documented requirement ... if you want to post content to the fan page with the end user as the actor, then the end user must also be a fan of the page.

This second requirement seems entirely unnecessary and has been frustrating, but it definitely seems to be necessary.



Feb 11, 2010 at 3:51 PM

Thanks. I realised in the end that  needed to grant my page permissions. The problem was that "standard" way to do this is to write true Facebook application that presents the appropriate dialogue for the sole purpose of granting those permissions. Rather a PITA.  

But later I found that I could do it simply with a url, along these lines:


I don't need the user to be the actor, so the other issue doesn't apply in this case. With the above the page appears to have been submitted by DanceWeb, which is what I wanted.