仍然没有解决方法如何简单发布Facebook墙

时间:2014-08-10 11:50:49

标签: c# .net facebook facebook-graph-api facebook-javascript-sdk

我需要从我的个人网站发布消息到网站的Facebook墙页面。 我不希望用户对Facebook进行身份验证,而是应该使用默认网站帐户(可能是Facebook应用)。

这就是我所拥有的:

  1. https://developers.facebook.com
  2. 创建了facebook App
  3. Facebook.dll添加到我的ASP.NET webform网站(个人网站)
  4. 包含以下代码:

    FacebookClient客户端=新的FacebookClient();

    result = client.Get("oauth/access_token", new
    {
        client_id = ConfigurationManager.AppSettings["FacebookAppId"],
        client_secret = ConfigurationManager.AppSettings["FacebookAppSecret"],
        grant_type = "client_credentials"
    });
    client.AccessToken = result.access_token;
    
    result = client.Post("1418771281723422/feed", new { message = "Test Message from app" });
    result = client.Get("1418771281723422");
    
  5. 这会在client.Post上返回以下异常

      

    “Facebook.FacebookOAuthException”类型的第一次机会异常   发生在Facebook.dll

         

    其他信息:(OAuthException - #200)(#200)用户没有   授权应用程序执行此操作

    我做错了什么,为什么这么简单的任务太难了?

1 个答案:

答案 0 :(得分:1)

当然,您需要授权用户在Facebook上发布 - 否则创建垃圾邮件应用程序会非常容易。

您需要的是页面访问令牌,请查看有关不同令牌的Facebook文档以及如何获取它们:https://developers.facebook.com/docs/facebook-login/access-tokens

有关访问令牌的更多信息:http://www.devils-heaven.com/facebook-access-tokens/

代码是用PHP编写的,但无论如何,文本对每种语言都有效。

这是使用PHP生成扩展页面令牌的方法:http://www.devils-heaven.com/extended-page-access-tokens-curl/

扩展页面令牌可能正是您所需要的,它永远有效,您可以使用它发布“as Page”。

使用ASP.NET执行此操作应该非常相似,但如果您查看使用CURL扩展页面令牌的教程,则不需要Facebook SDK。这个问题可能会对您有所帮助:curl Request with ASP.NET

要仅为自己创建扩展页面令牌,我建议不加任何编码来创建它:

在本文中对此进行了解释:http://www.devils-heaven.com/facebook-access-tokens/