Facebook C#SDK - 发布到墙上

时间:2011-08-31 04:35:59

标签: c# asp.net-mvc facebook

我正在开发一个asp.net MVC 3 Facebook应用程序,我正在尝试将消息发布到我的墙上。这是我的代码:

FacebookWebClient client = new FacebookWebClient();

// Post to user's wall
var postparameters = new Dictionary<string, object>();
postparameters["message"] = "Hello world!";
postparameters["name"] = "This is a name";
postparameters["link"] = "http://thisisalink.com;
postparameters["description"] = "This is a description";

var result = client.Post("/me/feed", postparameters);

我可以使用client.AccessToken获取访问令牌,所以我假设我不必在任何地方设置它。此代码不会产生错误,结果我得到一个ID。然而,当我打开我的Facebook时,我的墙上和我的新闻中都没有看到任何内容。我不确定我错过了什么。我在StackOverflow上查看了相关问题,但是我没有看到类似于我的报告/问题。我也尝试根据我在其他帖子中看到的内容更改代码,但无济于事。我还检查了我的Facebook帐户设置,我看到我的应用程序列出了允许发布到我的墙上。我还尝试通过Graph API资源管理器向我的墙发布消息,我得到的结果相同。我得到了一个ID作为回报,但当我检查我的Facebook帐户时,我什么都没看到。在这几天。任何帮助将不胜感激。

提前致谢。

[编辑] 我想知道我的应用程序生成的access_token是否有问题。正如我在帖子中提到的,使用此access_token,我使用Graph API资源管理器获得相同的结果。返回一个ID,但我的墙上没有消息。但是,如果我授予Graph API资源管理器发布到我的墙并使用自己生成的access_token的权限,我可以使用资源管理器成功发布消息。这是FB登录按钮代码:

<div>
    <h1>Login using Facebook</h1>
    <p><fb:login-button perms="user_location, publish_stream, email"></fb:login-button></p>
</div>

4 个答案:

答案 0 :(得分:1)

基本上你需要在你的帖子参数中添加一个额外的参数。

args["access_token"] = account.access_token;

这是特定页面的标记。

我不会重复代码,请按照此处举例:Post On Facebook Page As Page Not As Admin User Using Facebook C# SDK

(第二个答案)

答案 1 :(得分:1)

您是否在操作方法中向Facebook请求了正确的应用权限?

尝试:[CanvasAuthorize(Permissions = "user_location, publish_stream, email")]

答案 2 :(得分:0)

您是否将access_token附加到网址?请参见示例here。它还记录了here(参见使用访问令牌)。

/me/feed?access_token=<access_token>

答案 3 :(得分:0)

只需做一个小改动,你的代码就可以了。你必须将用户身份验证令牌传递给构造函数,如...

var client = new FacebookClient(accessToken);

// Post to user's wall
var postparameters = new Dictionary<string, object>();
postparameters["message"] = "Hello world!";
postparameters["name"] = "This is a name";
postparameters["link"] = "http://thisisalink.com;
postparameters["description"] = "This is a description";

var result = client.Post("/me/feed", postparameters);

这个方法对我有用,虽然我不确定你使用的是哪个facebook sdk。 我正在使用http://facebooksdk.net/它非常好,所以如果你不使用它,我会推荐它