我有以下内容:
// my facebook page
var pageId = facebookPageId;
var app = new FacebookClient();
dynamic fbResult = app.Get("oauth/access_token", new {
client_id = facebookAppId,
client_secret = facebookAppSecret,
grant_type = "client_credentials"
});
app.AccessToken = fbResult.access_token;
dynamic messagePost = new ExpandoObject();
messagePost.access_token = app.AccessToken;
messagePost.link = "www.google.com";
messagePost.name = "some name";
messagePost.caption = "{test actor} " + "Test message"; //<---{*actor*} is the user (i.e.: Aaron)
messagePost.description = "Test description";
try {
var result = app.Post("/" + pageId + "/feed", messagePost);
} catch (FacebookOAuthException ex) {
var test = ex;
} catch (FacebookApiException ex) {
var test = ex;
}
然而,我总是得到(#200) The user hasn't authorized the application to perform this action
。我究竟做错了什么?这是我拥有的一个页面 - 但我不知道如何向我的应用授予POST权限。
答案 0 :(得分:2)
用户需要publish_actions
权限。
为用户实施登录对话框以授予publish_actions
您正在使用应用程序访问令牌。
通过Graph API Explorer
授予权限从下拉菜单中选择您的应用
然后点击&#34;获取访问令牌&#34;选择权限。然后在扩展权限下选择publish_actions
,最后点击获取令牌。