通过具有权限的API将Facebook应用程序添加到页面

通过具有权限的API将Facebook应用程序添加到页面,facebook,facebook-c#-sdk,Facebook,Facebook C# Sdk,如何通过具有发布流权限的API将应用程序添加到页面(我已创建)中 下面是我迄今为止使用该应用程序尝试的一系列事情。 使用页面访问令牌代码将应用添加到页面是将应用添加到页面应用部分,但无法添加“发布\u流,管理\u页面”权限 用于登录到Facebook private const string Scope = "publish_stream,manage_pages"; FacebookClient _fb = new FacebookClient(); var fbLoginUrl

如何通过具有发布流权限的API将应用程序添加到页面(我已创建)中

下面是我迄今为止使用该应用程序尝试的一系列事情。 使用页面访问令牌代码将应用添加到页面是将应用添加到页面应用部分,但无法添加“发布\u流,管理\u页面”权限

用于登录到Facebook

private const string Scope = "publish_stream,manage_pages";
   FacebookClient _fb = new FacebookClient();
   var fbLoginUrl = _fb.GetLoginUrl(
                new
                {
                    client_id = AppId,
                    client_secret = Appsecret,
                    redirect_uri = RedirectUri,
                    response_type = "code",
                    scope = Scope,
                    state = state
                });
获取短期访问令牌的步骤

if (Request.QueryString["code"] != null)
            code = Request.QueryString["code"];
           var result = _fb.Post("oauth/access_token",
                                  new
                                  {
                                      client_id = AppId,
                                      client_secret = Appsecret,
                                      redirect_uri = RedirectUri,
                                      code = code,
                                      scope = Scope,
                                      response_type="token"
                                  });
获取长寿命访问令牌

if (Request.QueryString["code"] != null)
            code = Request.QueryString["code"];
           var result = _fb.Post("oauth/access_token",
                                  new
                                  {
                                      client_id = AppId,
                                      client_secret = Appsecret,
                                      redirect_uri = RedirectUri,
                                      code = code,
                                      scope = Scope,
                                      response_type="token"
                                  });
var result1=_fb.Post(“oauth/access_令牌”, 新的 { 客户端\u id=AppId, client_secret=Appsecret, 授予\u type=“fb\u交换\u令牌”, fb_交换_令牌=会话[“fb_访问_令牌”]作为字符串 });

获取页面访问令牌的步骤

dynamic accounts = _fb.Get("me/accounts");
使用页面访问令牌将应用程序添加到页面

var sResult = _fb.Post("<PAGE-ID>/tabs",
                                                    new
                                                    {
                                                        app_id = AppId,
                                                        access_token = <PAGE ACCESS TOKEN>,
                                                        scope = Scope
                                                    });
var sResult=\u fb.Post(“/tabs”,
新的
{
app_id=AppId,
访问令牌=,
范围=范围
});

从您的评论来看,您似乎试图将应用程序“作为”发布到页面上-这是不可能的。您需要使用从页面管理员检索的页面访问令牌进行发布,此页面访问令牌允许您代表页面进行发布。应用程序无法以“自身身份”发布。

当您发布到
/{page}/tabs
时,错误消息是什么?这是添加选项卡的正确方法,您的代码示例似乎是正确的。一旦应用程序添加到页面,使用应用程序访问令牌我想向页面提要发布消息,我会遇到一个异常:(OAutheException-#200)(#200)用户尚未授权应用程序执行此操作您无法使用应用程序访问令牌发布到页面-应用程序无法以自己的权限发布-发布为您需要的页面您从页面管理员检索到的页面访问令牌。好吧,我在获得页面访问令牌后已成功发布到页面。但我正在为几个在这些页面上发布消息的部门用户构建一个应用程序。他们不想登录。文档中说,如果获得许可,应用程序可以代表用户。上面提到的代码确实将应用程序添加到用户设置并授予了权限。但我想将应用程序添加到我正在管理的不同页面。这样应用程序可以发布内容。