tags:

views:

844

answers:

3

Hello,

I am trying to use the Facebook Developer Toolkit (http://facebooktoolkit.codeplex.com/) to publish user messages from my .NET applicationn.

I have a user id for a facebook user. My question is, how do I publish a message to this user's Facebook stream? Currently, I written have the following code:

ConnectSession session = new ConnectSession(ApplicationKey, SecretKey);
if (session.IsConnected())
{
  Api facebook = new Api(session);
  Facebook.Schema.user user = facebook.Users.GetInfo(userID);

  facebook.Stream.Publish("Hello");
}

From the best I can tell, this code only publish's a message to the currently logged in user. But I do not think it publish's a message on the user with the userID's stream. How do I post a message on a Facebook user with a specific user id's stream?

Thank you!

A: 

You can pass the user ID of the user whose stream you want to publish to:

facebook.Stream.Publish("Hello", null, null, null, userID);

The user must have granted your application the publish_stream extended permission before hand of course.

Kynan
+1  A: 

Sorry, I cant get your answer to work. I get a FacebookException, "A session key must be specified when request is signed with a session secret". Any hints?

Anders Bratland
A: 

try first login...

try
        {
            servicio.ApplicationKey = "xxxxxxxxxxxxxxxxxxxxxxxxxx";
            servicio.ConnectToFacebook(new List<Enums.ExtendedPermissions>() { Enums.ExtendedPermissions.read_stream, Enums.ExtendedPermissions.publish_stream });
            label2.Text = "Conectado:";
            label1.Text = servicio.Users.GetInfo().first_name + " " + servicio.Users.GetInfo().last_name;
            pictureBox1.Image = servicio.Users.GetInfo().picture_small;
            button2.Text = "Sesión Iniciada";
            button2.Enabled = false;
            checkBox1.Enabled = true;
            numericUpDown1.Enabled = true;
            groupBox3.Enabled = true;
            groupBox4.Enabled = true;
        }catch (FacebookException fe)
        {

            listBox1.Items.Add(fe.Message);
        }

then you can publish.... like this..

try
        {
            var cancion = "lalalalala";
            String cosa = servicio.Stream.Publish(cancion, null, new List<action_link>()
            {
              new action_link()
              {
                text="Visita SQLeros",
                href="http://sqleros.com.ar/wps"

              }
            }, null, 0);
            servicio.Stream.AddLike(cosa); //to add like (Y)
            listBox1.Items.Add(cosa);

        }
        catch (FacebookException fe)
        {

            listBox1.Items.Add(fe.Message);
        }

or this.. ñ_ñ

try
        {
            String namePub = servicio.Users.GetInfo().first_name + "ha actualizado su estado";
            String cosa = servicio.Stream.Publish(richTextBox1.Text,
            new attachment()
            {
                name = namePub,
                href = "http://www.facebook.com/apps/application.php?id=136818146334647",
                caption = "Tú tambien puedes usar Escuchando ahora, es facil y rapido",
                properties = null,
                media = new List<attachment_media>()
                {
                    new attachment_media_image()
                    {
                        src="http://www.rammsdio.com.ar/images/img14781001.gif",
                        href = "http://www.facebook.com/apps/application.php?id=136818146334647"
                    }
                }
            },
            new List<action_link>() 
            {
                new action_link()
                {
                    text="Visita SQLeros",
                    href="http://www.sqleros.com.ar/wps"
                }
            },null,0);
            listBox1.Items.Add("Has actualizado tu estado...");
            richTextBox1.Clear();
            if (checkBox2.Checked)
                servicio.Stream.AddLike(cosa);
        }
        catch (FacebookException fb)
        {

            listBox1.Items.Add(fb.Message);
        }

Grettings i hope this its useful for you..ñ_ñ

rammsito