我正在尝试使用Facebook Developer Toolkit(http://facebooktoolkit.codeplex.com/)从我的.NET应用程序发布用户消息。
我有一个Facebook用户的用户ID。我的问题是,如何向该用户的Facebook流发布消息?目前,我写的有以下代码:
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");
}
从我能说的最好,这段代码只向当前登录的用户发布消息。但我不认为它使用userID的流在用户上发布消息。如何在具有特定用户ID流的Facebook用户上发布消息?
谢谢!
答案 0 :(得分:1)
首先尝试登录...
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);
}
那么你可以发布....像这样......
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);
}
或者这个..ñ_ñ
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我希望这对你有用..ñ_ñ
答案 1 :(得分:0)
您可以将要发布其流的用户的用户ID传递给:
facebook.Stream.Publish("Hello", null, null, null, userID);
用户必须事先向您的应用程序授予publish_stream扩展权限。