Facebook Graph api如何通过访问令牌获取页面ID

问题描述:

对于Facebook上的“用户”,我通过使用此图表收集诸如其用户ID之类的信息api电话: https://graph.facebook.com/me?access_token= ... 每次都有效。Facebook Graph api如何通过访问令牌获取页面ID

我的问题是......有没有办法获得刚刚通过授权后返回的访问令牌授权的页面信息?

我想这一点,和id是不行的,但是这是我要找的

https://graph.facebook.com/page?access_token= ...

如你所知,以张贴到“页”墙是“邮报”是这样的... https://graph.facebook.com/PAGEID/feed?message=blahblah&access_token=XXXXXXXXXXXXX

我如何获得有关授权已不知道ID或页面“用户名”(你必须有25所喜欢的页面的页面ID等信息反正使用)???

谢谢你的任何帮助*社区:)

+0

您的应用程序是否在页面选项卡中? – ifaour

+0

可能的重复[如何找出页面安装了我的Facebook Canvas应用程序?](http://*.com/questions/5587784/how-can-i-find-out-what-page-has-installed -my-facebook-canvas-app) – ifaour

+0

不,我的应用程序是一个SAAS托管站点,用于遵从和存档。 – wakurth

我一直在寻找的答案是here。您可以简单地使用用户access_token获取一组page_access_tokens,并根据返回的JSON对象数据为他们提供使用这些访问令牌发布到这些页面的选项。

页面未被授权,应用程序是。

如果您的应用程序有权限,则通过FB传递给应用画布的signed_request通知当前页面。使用PHP SDK来读它

https://developers.facebook.com/docs/authentication/signed_request/

有当应用程序被安装在页面上没有任何回调。但是,如果用户通过选项卡iFrame使用应用程序,则可以从signed_request中获取该页面标识。您可以将这些信息作为您自己的用户会话的一部分进行维护,并在您认为合适的时候使用。看到

stdClass Object 
(
    [algorithm] => HMAC-SHA256 
    [issued_at] => xxxxxxxxxx 
    [page] => stdClass Object 
     (
      [id] => FAN_PAGE_ID // target page id 
      [liked] => 1  // is the user a fan 
      [admin] =>   // is the user an admin 
     ) 

    [user] => stdClass Object 
     (
      [country] => ie 
      [locale] => en_GB 
      [age] => stdClass Object 
       (
        [min] => 21 
       ) 

     ) 

) 

欲了解更多信息: http://developers.facebook.com/docs/authentication/signed_request/


您可能还

一个signed_request到标签的iFrame的内容将类似于以下(PHP的print_r的输出)想看看manage_pages permission

另外,请看这里: http://developers.facebook.com/docs/reference/api/

页面登录

您可以模拟通过请求manage_pages许可,您的用户给予页面。

一旦用户授予您的应用程序“manage_pages”权限,“accounts”连接将为当前用户管理的每个页面生成一个access_token属性。这些access_tokens可用于代表页面进行呼叫。用户授予您的应用程序的权限现在也适用于他们的页面。

+0

我认为我的问题没有被正确读取。对于用户,我可以在通过他们的访问令牌授权我的应用程序后立即获得他们的Facebook用户ID。如果我的应用程序被批准为“页面”而不是用户,并且该页面没有附加“用户”帐户,则无法通过我知道的任何方法获取PageID,而只会传回“access_token”和“code”查询字符串参数。如果可以解码“代码”参数来获取这样的信息,那么我会使用它,我只是没有意识到这是可能的。请让我知道,如果我的问题现在更有意义。 – wakurth

+0

只有用户可以授权应用程序。应用程序选项卡只能安装在页面上。获取页面ID的唯一方法是通过传递给安装在页面上的选项卡iFrame的signed_request。 – jBit

+0

我的页面上没有iframe。我将它们重定向到Facebook上新选项卡中的“允许”页面,当点击允许时,它将重定向到处理收集其信息的页面。在这种情况下,没有用户参与。它只是没有附加用户来管理它的页面的登录。他们用于登录的电子邮件实际上并未附加到用户的Facebook帐户。所以这个“页面”实际上是授权我的应用程序。 – wakurth