Facebook错误(#200)用户未授权应用程序执行此操作

时间:2014-12-15 01:09:08

标签: c# facebook

我有以下内容:

         // 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权限。

1 个答案:

答案 0 :(得分:2)

用户需要publish_actions权限。 为用户实施登录对话框以授予publish_actions

您正在使用应用程序访问令牌。


通过Graph API Explorer

授予权限

从下拉菜单中选择您的应用

Select application

然后点击&#34;获取访问令牌&#34;选择权限。然后在扩展权限下选择publish_actions,最后点击获取令牌。

Get Access Token