尝试使用Windows客户端应用程序发布消息到Facebook

时间:2014-04-16 08:23:31

标签: c# facebook sdk

我正在使用带有Windows窗体客户端应用程序的visual studio 2013 .NET 4.5和C#,我正在尝试将消息发布到我自己的Facebook托管页面。我创建了一个新的Facebook应用程序,但尚未发布它,我不确定设置,但我有app_id,app_secret,并且从调试我有access_token。

我使用一段代码打开浏览器窗口以使用权限登录,这是成功的

我收到以下错误:

OAuthException - #200)(#200)用户尚未授权应用程序执行此操作

我正在使用的代码如下:

var fb = new FacebookClient("AUTH_CODE")
dynamic parameters = new ExpandoObject();
parameters.message = "hello tweet tweet";
dynamic result = fb.Post("SITE_ID/feed", parameters);
var id = result.id;

登录我正在使用:

var client = new FacebookClient();
client.AppSecret = app_secret;
client.AppId = app_id;
client.AccessToken = "AUTH_CODE";

var fbLoginUri = client.GetLoginUrl(new
{
     client_id = app_id,
     redirect_uri =
     "https://www.facebook.com/connect/login_success.html",
     response_type = "code",
     scope = "manage_pages,offline_access,publish_stream,publish_actions"
});
 System.Diagnostics.Process.Start(url);

我已登录,浏览器上的消息显示SUCCESS ...

我引用的DLL是最新的v6.0 Facebook C#SDK

我是否需要设置Facebook应用程序,以便它有权发布到我的托管墙上,如果是,我该怎么做。

我希望那里有人可以提供帮助,我已经看了好几天了,我需要一些帮助。

PS:

我也尝试过以下代码:

        var fb = new FacebookClient();
        dynamic result = fb.Get("oauth/access_token", new
        {
            client_id = app_id,
            client_secret = app_secret,
            grant_type = "client_credentials",
            scope = "manage_pages,offline_access,publish_stream"
        });

        var app_token = result.access_token;

        var client = new FacebookClient(app_token);

        dynamic parameters = new ExpandoObject();
        parameters.message = "Check out this funny article";
        parameters.link = "http://www.natiska.com/article.html";
        parameters.picture = "http://www.natiska.com/dav.png";
        parameters.name = "Article Title";
        parameters.caption = "Caption for the link";

        //446533181408238 is my fan page
        client.Post("/446533181408238/feed", parameters);

保罗。

1 个答案:

答案 0 :(得分:0)

您的访问令牌请求中的请求代码似乎丢失了,这可能会导致此错误,有关详细信息,请参阅this问题。