2011-08-31 67 views
2

我开发一个asp.net MVC 3 Facebook应用程序,我试图来发布消息,我的墙。这里是我的代码:的Facebook C#SDK - 涂鸦墙

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帐户设置,并且我看到我的应用程序被列出并许可发布到我的墙上。我也尝试通过图形API浏览器发布消息到我的墙上,我得到了同样的结果。我得到了一个ID,但是当我检查我的Facebook帐户时,我什么都看不到。在这里待了几天。任何帮助将不胜感激。

在此先感谢。

[编辑] 我不知道是否有产生的access_token我的应用程序什么是错的。使用这个access_token,正如我在文章中提到的那样,我使用Graph API浏览器获得了相同的结果。一个ID被返回,但我的墙上没有消息。但是,如果我将Graph API Explorer许可权发布到我的墙上并使用其自己生成的access_token,则可以使用资源管理器成功发布消息。这里的FB登录按钮代码:

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

你试过这个链接底部提到什么? http://facebooksdk.codeplex.com/discussions/250353 –

+0

嗨主要字节。感谢您的回应。我尝试过,但不幸的是它没有工作。 –

+0

你曾经解决过这个问题吗?我遇到了同样的问题。 –

回答

0

你追加access_token的网址是什么?见示例here。它也记录here(见使用访问令牌)。

/me/feed?access_token=<access_token> 
+0

嗨TheCodeKing,谢谢你的回应。不幸的是,它没有奏效。我甚至在没有Facebook C#SDK的情况下尝试发帖,但我看到了相同的行为。我得到一个身份证,但我的墙上看不到任何东西。然后,为了让我更加困惑,我使用Graph API Explorer使用我在我的应用程序中使用的相同访问令牌,以及相同的行为... ID,但墙上没有任何内容。然后,使用Graph API Explorer生成的访问令牌,我尝试发布相同的确切消息,并且出现“重复消息”错误。但我的墙上仍然没有任何东西。 –

+0

该应用程序需要用户的stream_publish权限。你检查过了吗?最近访问令牌更改为OAuth 2.0。 – TheCodeKing

1

你要求合适的应用程序权限Facebook在你的操作方法?

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

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/其相当不错,所以如果你不使用它,我会推荐它