这是我第一次尝试使用这个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。
答案 0 :(得分:2)
错误“用户未授权应用程序..”听起来像Facebook用户没有必要的权限,check here了解详情。
他们至少需要授权'publish_stream'。
在您网页上的JavaScript中检查您要求的权限; Facebook Javascript reference详细解释了这一点。
希望这有帮助。
答案 1 :(得分:0)
Andy主要是这样,但是我意识到这里还有别的东西。听起来你想要将AS APP发布到用户的墙上。如果您只想在用户的新闻Feed上显示某些内容,那么您需要用户喜欢您的应用。然后,当您发布到应用程序的墙上时,它应显示在用户的订阅源上(实际上是所有用户的新闻订阅源)。
如果您想直接发送到用户的墙上,那么您需要发布到“{facebook userid} \ feed”。请注意,Facebook可能会也可能不允许这样做(我已经忘记了他们此时是否这样做了。)
据我所知,到目前为止你所做的事情应该有效。您遇到的问题是您要发布到未知的粉丝页面(该粉丝页面上是否已授权该应用程序?)