繁体   English   中英

如何在不审查我的Facebook应用程序的情况下使用Graph API发布到Facebook页面?

[英]How do I post to a Facebook Page using the Graph API without having my Facebook App reviewed?

Facebook文档具有我一直关注的称为“ 作为页面发布”的页面

我按照有关如何为页面获取“不朽”访问令牌的说明进行操作。

我使用了访问令牌调试器来检查我的令牌是否正确。 它具有正确的AppID,正确的ProfileID(对于页面)和正确的UserID(对于页面所有者)。 它的有效期为“永不”,并且具有正确的作用域: manage_pages, publish_pages, publish_actions, public_profile

然后,我使用了用于.NETFacebook SDK来调用该API,以发布到Page中。

var facebookClient = new FacebookClient(accessToken);

facebookClient.Post(string.Format("{0}/feed", profileID), new
{
    message = message
});

该帖子显示在页面上,如果我将鼠标悬停在“地球”图标上以查看其可见性/可访问性,则该消息显示为“公开”。

所以,它工作正常吗? 好吧...不

事实证明,尽管在Facebook应用程序中分配了角色的用户看起来像是普通帖子,并且说它是公开的,但仍可以看到该帖子。 对于任何其他用户或未登录的用户,根本不会出现。

文档页面的页面访问令牌和权限说:

您的应用可能不需要请求这些权限,因为已经在应用的信息中心中设置了具有角色的人员发布。 在这种情况下,您无需提交应用程序进行审核。 请参阅“应用程序仪表板”中的“角色”标签。

我注意到它说的是“人”,有点模糊。 这是否意味着只有用户可以发布到页面而不进行审查? 如果没有审阅,就不能作为页面本身发布?

我尝试使用页面ProfileID将页面添加到应用程序的“开发人员”和“测试人员”角色,但是它说无法将其解析为用户ID或名称。 这很有意义,角色是为人而不是页面。

编辑1:

我尝试使用“嵌入帖子”功能,这给了我指向该帖子的链接。 我尝试与无法看到帖子的用户使用链接并得到:

链接错误

它没有过期,因为可以看到它的用户仍然可以看到它。 有趣的是,它说您可能不在可以查看它的观众中,但是它是公开的,我相信这意味着每个人都应该看到它。

您需要使应用程序“处于活动状态”(请参见“状态和查看”选项卡的顶部),否则通过应用程序创建的内容仅对在应用程序中具有角色的人员可见。

(这与权限审查无关。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM