我正在使用Facebook C#SDK在朋友的墙上实现Post,我为我的localhost和发布服务器制作了单独的FB应用程序,问题是它在我的localhost上工作正常,但是当我正在运行发布时网站它不是张贴在墙上,但显示已成功发布在墙上(我正在显示如果墙贴成功的消息)我正在提供AppID和AppSecret正确 以下是我在朋友的墙上张贴的代码。
var fbApplication = new DefaultFacebookApplication { AppId = fbapp, AppSecret = fbsec };
var current = new FacebookWebContext(fbApplication);
Facebook.Web.FacebookWebClient client = new Facebook.Web.FacebookWebClient(fbtoken);
dynamic parameters = new ExpandoObject();
parameters.message = "";
parameters.link = "Link to my Website";
parameters.name = "Name";
parameters.caption = "MyTitle";
parameters.description = "Hello World";
parameters.from = fromId;
object resTest = client.Post("/" + friendId + "/feed", parameters);
答案 0 :(得分:0)
你从哪里获得令牌?您是否显示身份验证对话框并让用户使用他/她的凭据登录到FB?
另外 - 当用户授权应用程序在用户帐户下发布时,请求应该来自“我” - 假设用户 - 而不是来自“friendId”。
如果你有来自某个地方的身份验证令牌,那么这里是我成功用于在墙上发布的代码:
var fbAPI = new FacebookApp(accesstoken);
var params = new Dictionary<string, object> {
{ "name", "POST NAME" },
{"caption", "test"},
{"link", "http://www.google.com/"},
{"description", "bla-bla-bla"},
{"picture", imageUrl},
{"message", "check this out!"}};
var result = fbAPI.Post("http://graph.facebook.com/me/feed", params);
希望有所帮助。如果没有,请提供更多信息。