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

时间:2011-08-18 17:28:05

标签: facebook facebook-graph-api

对于Facebook上的“用户”,我使用此图表api调用收集用户ID等信息: https://graph.facebook.com/me?access_token= ... 这每次都有效。

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

我尝试了这个,而且ID不起作用,但这就是我正在寻找的

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

如您所知,为了发布到“页面”墙,就像'发布'一样...... https://graph.facebook.com/PAGEID/feed?message=blahblah&access_token=XXXXXXXXXXXXX

如何在不知道ID或页面“用户名”的情况下获取有关授权页面的页面ID和其他信息(无论如何你必须使用25个)???

感谢您提供任何帮助stackoverflow社区:)

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

页面未经授权,应用程序为。

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

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

答案 2 :(得分:1)

在页面上安装应用程序时没有回调。但是,如果用户通过选项卡iFrame使用您的应用程序,您可以从signed_request获取该页面ID。您可以将此信息作为自己用户会话的一部分进行维护,并根据需要使用它。

标签iFrame的signed_request内容类似于以下内容(PHP print_r的输出):

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/


您可能还想查看manage_pages permission

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

  

页面登录

     

您可以通过请求manage_pages权限来模拟用户管理的网页。

     

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

相关问题