Facebook API授权 - 一个登录,多个域

时间:2015-06-24 19:43:32

标签: facebook facebook-graph-api

我们的应用程序为多个客户运行多个站点。我们提供的一项服务是为客户编写和发布社交媒体。我们还允许客户通过应用程序管理员自行发布帖子。

为了方便客户的非自动发布,我们的一位用户可以通过Facebook登录访问许多客户的页面。

如果她使用我们的应用程序通过客户网站的管理区域生成身份验证令牌,则会出现问题。

应用程序将自己的appID和密钥发送到Facebook,用户收到Facebook登录页面。

但是,她曾经能够选择她希望登录的页面/客户。现在,一旦提交登录数据,Facebook立即将令牌发送回“返回URL”。没有机会选择auth所针对的Facebook页面。

令牌似乎链接到用户的“主”页面(这是我们的页面)。

显然,我们需要能够说“我正在登录Facebook授权的许多页面的第X页。”

请注意:这不是关于我们的应用程序授权的一般问题。这是Facebook登录附加到多个页面的具体情况。

请问有人给我一些建议,即使它只是指向API文档中适当位置的链接吗?我没有运气搜索它们。

谢谢,

汤姆

编辑:首先,关于“多个域名”的问题:或许我不应该把它放在标题中,因为它与Facebook每个人无关,

我们托管许多明显拥有多个域名的客户。他们通过CMS管理他们的网站内容,其中包括与Facebook合作。客户通常有一个Facebook页面;所以至少对我们来说,客户的网站/域名与她/他的Facebook页面之间经常存在一对一的对应关系。

当有人经历相关流程时,他/她正在管理该网站,但可能正在尝试发布到Facebook页面。我们的一位内部管理员可以访问许多客户的Facebook页面。

所以让我改写一下:管理员登录到客户的网站。她试图授权我们的应用程序发布到该客户端的页面。我们的应用程序将其ID /密钥数据发送到Facebook,然后将她带到登录页面。

问题是,我们如何让Facebook知道我们正在寻求授权发布到她可以访问的众多帐户/页面之一?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

正如CBroe在评论中指出的那样,如果您想以页面形式发布,则需要拥有您管理的页面的页面访问令牌。在您向应用授予manage_pages权限后,您可以拨打/me/accounts边缘以获取所有pages that you admin及其访问权限的列表。 然后,您可以使用页面的page access token代表页面发布。注意:除了能够代表页面发布之外,您还需要publish_pages权限。权限记录在案here