【问题标题】:C# Facebook app / post on siteC# Facebook 应用程序/在网站上发布
【发布时间】:2016-09-28 04:33:56
【问题描述】:

我对 Facebook 应用程序非常陌生,并且阅读了几个线程来创建它们,但我遇到了一些问题。 首先我想做的是:我想创建一个能够在我管理的 facebook 页面上发布图片、文本和链接的 Web 应用程序。

我使用了 Facebook C# SDK:here!

我有什么:

string facebookPageId = "<my page id>";

string app_id = "<my app id>";
string app_secret = "<my app secret>";
string scope = "publish_stream,manage_pages";

var fb = new FacebookClient();

dynamic res = fb.Get("oauth/access_token", new
{
     client_id = app_id,
     client_secret = app_secret,
     grant_type = "client_credentials"
});

var access_token = res.access_token;

dynamic messagePost = new ExpandoObject();
messagePost.access_token = access_token;
messagePost.link = "http://www.test.at";
messagePost.name = "Testbot";
messagePost.caption = "{*actor*} " + "hello this is a test"; 
messagePost.description = "[SOME_DESCRIPTION]";

FacebookClient app = new FacebookClient(access_token);
app.AppId = app_id;
app.AppSecret = app_secret;

try
{
     var result = app.Post("/hrechttest" + "/feed", messagePost);
}
catch (Exception e)
{

}

代码运行没有任何异常,但在输出窗口中我得到以下信息:

Exception thrown: 'Facebook.FacebookOAuthException' in Facebook.dll

下一个问题是: 据我了解,您必须将您的 facebook 应用程序与您的 facebook 页面链接,但是当我想这样做时,我无法选择页面:

那么我做错了什么或错过了什么?

【问题讨论】:

  • 重置权限重试

标签: c# facebook facebook-graph-api oauth facebook-apps


【解决方案1】:

publish_stream 已被弃用多年,publish_pages 是发布到页面(作为页面)的正确权限。

API 参考:https://developers.facebook.com/docs/graph-api/reference/page/feed#publish

确保您使用的是页面令牌,而不是用户令牌:

文档中也解释了如何创建页面应用程序:https://developers.facebook.com/docs/pages/tabs

【讨论】:

  • 我做了您建议的更改,但现在我收到此错误:“Facebook.FacebookOAuthException: (OAuthException - #200) (#200) 用户尚未授权应用程序执行此操作"
  • 确保您的访问令牌是 PAGE 令牌,并确保它包含 publish_pages 权限。错误信息很清楚。
  • 是的,我明白,但访问令牌来自第一个 facebook 客户端调用。所以你的意思是我得到的这个访问令牌是用户访问令牌,没有页面访问令牌?
  • 阅读我的答案并查看我发布的链接,您将了解差异以及如何生成页面令牌。在您的代码中,我没有看到任何有关页面令牌的信息。
  • 是的。请开始阅读我答案中的链接,您需要知道的所有内容都在其中;) - 我添加链接不是为了好玩,它们都很重要。
猜你喜欢
  • 2012-06-14
  • 2015-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多