2015-11-19 41 views
0

Facebook的文档有这个页面叫做Posting as a Page,我一直在关注它。如何在没有审核我的Facebook应用的情况下使用Graph API发布到Facebook页面?

我遵循了关于如何获取页面的“不朽”访问令牌的说明。

我使用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 
}); 

的帖子出现在页面上,如果我将鼠标悬停“地球”图标,看到它的知名度/无障碍它说:“公众”。

所以,它的工作原理是什么?那么...不。

事实证明,只有用户分配在Facebook的应用程序角色可以看到的帖子,尽管它看起来像一个正常的岗位,并说这是公开的。对于任何其他用户或未登录的用户而言,都不会出现。

文档页面Page Access Tokens and Permissions说:

您的应用程序可能不需要请求这些权限,因为有人发帖已经设置了在应用程序的仪表板的作用。如果是这种情况,则不需要提交您的应用进行审核。请参阅应用程序面板中的角色选项卡。

我注意到它说的“人”是一个摸不清的东西。这是否意味着只有用户才能发布到页面而不需要审阅?没有评论你不能发布为页面本身吗?

我已经尝试添加该页面的“开发商”,并使用网页简档的应用“测试者”的角色,但它说,它无法解析到一个用户名或姓名。这是有道理的,角色是为人而不是页面。

编辑1:

我使用“嵌入邮报”函数试图这给了我一个链接的帖子。我尝试使用与用户的链接无法看到帖子,并得到:

Link Error

它没有过期,因为这可以看到它仍然可以看到它的用户。有趣的是,它表示你可能不在观众那里可以看到它,但它被设置为公开,我相信这意味着每个人都应该看到它。

+0

这与权限审查无关。您需要将您的应用程序设置为“实时”(请参阅​​状态和查看选项卡的顶部),否则通过它创建的内容将只对在应用程序中扮演角色的人员可见。 – CBroe

+0

谢谢!这工作。你可以张贴这个答案,我可以接受吗? – AndyJ

回答

1

您需要让您的应用“实时”(请参阅​​状态&评论选项卡顶部),否则通过它创建的内容将只对在应用中具有角色的人员可见。

(这与权限审查没有任何关系。)

相关问题