如何使用Facebook C#SDK将应用程序发布到Facebook墙上?

时间:2011-03-25 11:00:50

标签: facebook-c#-sdk

这是我第一次尝试使用这个SDK,所以对我很温柔。我这样做了:

var fbWebContext = FacebookWebContext.Current;
if (fbWebContext.IsAuthorized())
{
    // post as application
    var fb = new FacebookOAuthClient { AppId = "205378862824897", AppSecret = "4deb72e26c22415fe00e44028b401114" };
    dynamic result = fb.GetApplicationAccessToken();
    var appAccessToken = result.access_token;

    Dictionary<string, object> parameters = new Dictionary<string, object>()
                                                {
                                                    {"description", "Testbeskrivning"},
                                                    {"link", "http://zitac.se"},
                                                    {"name", "Testtitel" }
                                                };
    var fbApp = new FacebookWebClient(appAccessToken);
    result = fbApp.Post(FB_ID_FANPAGE + "/feed", parameters);

    lblMessage.Text = result;
}

得到了他的:(OAuthException)(#200)用户尚未授权该应用程序执行此操作。

粉丝页面上是否需要进行一些设置?

这是使用ASP.NEt 4.0和SDK 5.0.7。

2 个答案:

答案 0 :(得分:2)

错误“用户未授权应用程序..”听起来像Facebook用户没有必要的权限,check here了解详情。

他们至少需要授权'publish_stream'。

在您网页上的JavaScript中检查您要求的权限; Facebook Javascript reference详细解释了这一点。

希望这有帮助。

答案 1 :(得分:0)

Andy主要是这样,但是我意识到这里还有别的东西。听起来你想要将AS APP发布到用户的墙上。如果您只想在用户的新闻Feed上显示某些内容,那么您需要用户喜欢您的应用。然后,当您发布到应用程序的墙上时,它应显示在用户的订阅源上(实际上是所有用户的新闻订阅源)。

如果您想直接发送到用户的墙上,那么您需要发布到“{facebook userid} \ feed”。请注意,Facebook可能会也可能不允许这样做(我已经忘记了他们此时是否这样做了。)

据我所知,到目前为止你所做的事情应该有效。您遇到的问题是您要发布到未知的粉丝页面(该粉丝页面上是否已授权该应用程序?)