仍然没有解决办法,如何简单地发布一个Facebook墙

本文关键字:简单 Facebook 布一个 何简单 解决 | 更新日期: 2023-09-27 18:17:23

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

这是我的:

  1. 创建facebook应用程序https://developers.facebook.com
  2. 将Facebook.dll添加到我的ASP中。. NET网站(个人网站)
  3. 包含以下代码:

    FacebookClient = new 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");
    

在客户端返回以下异常。邮报》

类型为"Facebook"的第一次例外。FacebookOAuthException"发生在Facebook.dll

附加信息:(oautheexception - #200)(#200)用户没有授权应用程序执行此操作

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

仍然没有解决办法,如何简单地发布一个Facebook墙

当然,你需要授权用户在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/

扩展页面令牌可能正是你所需要的,它是永久有效的,你可以用它发布"作为页面"。

用ASP做这个。NET应该非常相似,但是如果您看一下使用CURL扩展页面令牌的教程,您就不需要Facebook SDK了。这个问题可能会对你有所帮助:净

要为自己创建一个扩展页面令牌,我建议创建它而不需要任何编码:

  • 使用图形API资源管理器为你的应用创建一个用户访问令牌。
  • 扩展用户访问令牌:https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id=[app-id]&client_secret=[app-secret]&fb_exchange_token=[short-lived-token]
  • 将生成的用户令牌放在图形API资源管理器的"访问令牌"字段中
  • 拨打/me/accounts获取所有Facebook页面的列表
  • 获取您的页面的访问令牌并在服务器端调用中使用它来发布

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