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

时间:2015-11-19 11:26:36

标签: c# facebook facebook-graph-api

Facebook文档的这个页面名为Posting as a Page,我一直在关注。

我按照说明如何获得一个不朽的"页面的访问令牌。

我已使用Access Token Debugger检查我的令牌是否正确。它具有正确的AppID,正确的ProfileID(用于页面)和正确的UserID(用于页面的所有者)。它过期"从不",它是有效的,并且它具有正确的范围:manage_pages, publish_pages, publish_actions, public_profile

然后我使用Facebook SDK for .NET来调用API以发布到页面。

var facebookClient = new FacebookClient(accessToken);

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

该帖子显示在页面上,如果我将鼠标悬停在" globe"图标,以查看它的可见性/可访问性,它说"公共"。

那么,它运作正常吗?嗯......没有。

事实证明,只有在Facebook App中分配角色的用户才能看到该帖子,尽管它看起来像普通帖子并且说它是公开的。对于任何其他用户或未登录的用户,根本不会出现。

文档页面Page Access Tokens and Permissions说:

  

您的应用可能不需要申请这些权限,因为发布的人员已在您应用的信息中心中设置了角色。如果是这种情况,则无需提交您的应用以供审核。请参阅App Dashboard中的Roles选项卡。

我注意到它说'#34;人"这是一个模糊的触摸。这是否意味着只有用户可以发布到页面而不进行审核?您无法在没有审核的情况下作为网页发布?

我已尝试将该页面添加到"开发人员"和#34;测试人员"使用Pages ProfileID的应用程序角色,但它表示无法将其解析为UserID或名称。这是有道理的,角色是针对人而不是页面。

编辑1:

我已尝试使用"嵌入帖子"功能,这给了我一个帖子的链接。我尝试使用无法看到帖子并获得的用户的链接:

Link Error

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

1 个答案:

答案 0 :(得分:2)

您需要将您的应用设为“实时”(请参阅​​状态和审核标签页的顶部),否则只有在应用中有角色的人才能看到通过它创建的内容。

(这与许可审核无关。)