首页 文章

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

提问于
浏览
3

对于Facebook上的"users",我使用此图表api调用收集类似其用户ID的信息:https://graph.facebook.com/me?access_token= ...每次都有效 .

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

我试过这个,但是id不起作用,但这正是我要找的

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

如你所知,为了发布"page"墙就像'Post'那样... https://graph.facebook.com/PAGEID/feed?message=blahblah&access_token=XXXXXXXXXXXXX

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

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

3 回答

  • 1

    页面未经授权,应用程序是 .

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

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

  • 1

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

  • 3

    在页面上安装应用程序时没有回调 . 但是,如果用户通过选项卡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可用于代表页面进行调用 . 用户授予您的应用程序的权限现在也适用于他们的页面 .

相关问题