Stream.Publish WITHOUT Extended Permissions?

Dec 5, 2009 at 11:44 PM

Hello.  I want to use Stream.Publish, but I don't want a user to grant me extended permissions to do this.  I really want the box to pop up and ask the user to either publish or cancel the stream.  Is the only way to do this through javascript? or can I use the toolkit?

I'm curious about this....

http://developers.facebook.com/tools.php?connect_wizard&wizard=stream_publish

 

Dec 6, 2009 at 1:23 PM

Same problem here, help would be appreciated.

Dec 8, 2009 at 2:56 AM

You can use the feed forms to to publish stories to users wall without "publish_stream" permissions. Depending on the type of your application you can choose from any one of the following methods.

  1. Facebook.streamPublish : for FBML application
  2. FB.Connect.streamPublish :  Facebook connect site, desktop / IFrame applications.

Checkout the url for more info :  http://wiki.developers.facebook.com/index.php/Facebook.streamPublish

Dec 8, 2009 at 5:53 PM
Edited Dec 8, 2009 at 5:56 PM

Check this : Demo for easier way instead of using javascript and JSON.

After you start an app choose "Component list" tab  and then "Stream Publish"

Dec 10, 2009 at 3:58 AM

So how do I use FB.Connect.streamPublish from silverlight? I would prefer to NOT request extended permissions.

Dec 10, 2009 at 8:19 PM

@dracolytch the way I did it:

Get the javascript function to streampublish from here:

http://developers.facebook.com/tools.php?connect_wizard&wizard=stream_publish

Modify as needed and insert into your aspx page.

Then call this javascript function from silverlight like this:

HtmlPage.Window.Invoke("callPublish");

Also, you will have to set your silverlight app to windowless, otherwise the silverlight will always overlap the popup window.

 

Dec 10, 2009 at 9:56 PM

I got it working today... The interesting bit here is that I'm just using the Facebook Connect JS library at this point, instead of the integrated .NET library.

I had to create an intermediate function to allow for the creation of a JSON array, because I couldn't figure out how to do it via the Window.Invoke.

If anybody needs it, here is that intermediate function:

        function PublishMessageFacebook(subject, text, url, imagesource) {
            attachment = { 'name': subject, 'description': text, 'href': url, 'media': [{ 'type': 'image', 'href': url, 'src': imagesource}] };
            action_link = null;
            FB.ensureInit(function() {
                FB.Connect.streamPublish('', attachment, action_link);
            });
        }

 

Dec 18, 2009 at 1:46 AM
Edited Dec 18, 2009 at 1:47 AM
dracolytch wrote:
        function PublishMessageFacebook(subject, text, url, imagesource) {
            attachment = { 'name': subject, 'description': text, 'href': url, 'media': [{ 'type': 'image', 'href': url, 'src': imagesource}] };
            action_link = null;
            FB.ensureInit(function() {
                FB.Connect.streamPublish('', attachment, action_link);
            });
        }

 

this code is exactly what i needed thanks!

Feb 12, 2010 at 4:17 PM

Here is a complete step-by-step tutorial on setting up Stream publishing for iFrame applications:

 

http://thetechnicalexperience.blogspot.com/2010/02/how-to-use-fbconnectstreampublish.html