【问题标题】:accessing basic information with now access token使用 now access token 访问基本信息
【发布时间】:2011-12-29 18:48:20
【问题描述】:

我正在尝试获取用户的公开信息(姓名、照片、性别、个人资料链接)。

正如我在https://developers.facebook.com/docs/reference/api/user/ 中看到的那样,我不需要任何访问令牌来获取此信息。

我正在使用 facebook.php sdk 连接到 facebook,如示例中所述: https://github.com/facebook/php-sdk/blob/master/examples/example.php

出于某种原因,它总是要求我获取基本信息的访问令牌,尽管我需要的只是公共信息......

我如何才能在没有访问令牌的情况下仅获取公共信息?

【问题讨论】:

    标签: php facebook facebook-graph-api


    【解决方案1】:

    要在没有访问令牌的情况下获取公共信息,只需转到图表本身。

    https://graph.facebook.com/4 为例。

    【讨论】:

    • 但我想获得使用我网站的用户.. 当我尝试 graph.facebook.com/me 它要求访问令牌
    • 奇怪,它并没有要求我提供任何前往graph.facebook.com/4 的访问令牌,我什至使用了一个没有 facebook 凭据的浏览器。
    • 当您使用特定链接时,您是对的,但我希望获取 /me 用户的公共信息 - 这意味着,每个用户在我的网站上的情况(如果他在 Facebook 和粗略登录)
    • 用户必须接受(授权)您的应用程序才能获得用户访问令牌才能指定“我”而不是他们的用户 ID。
    • 如果用户已经登录 facebook,难道我没有办法获取他的用户 ID 吗?
    【解决方案2】:

    要从用户那里获取信息,用户必须向您授予他们的信息。这是由他们通过他们的 Facebook 帐户登录到您的网站来完成的。通过在您的站点上实现 Facebook PHP SDK,您可以使用函数 getLoginUrl() 向用户提供登录 url。当他们登录后,他们将被发送回您的站点,并提供可用的 ID。然后,您可以使用 api() 方法在图形中查询您想要的信息。请记住,对于所有不公开的信息,您需要在他们连接帐户时请求权限。

    如果您没有他们的访问令牌,则无法从他们那里获取信息。您需要知道用户是谁才能查询信息。但是,一旦您获得了他们的访问令牌,您就可以将基本信息存储在您自己的数据库中,这样您下次就不必再查询图表了。

    【讨论】:

    • 但假设我知道用户已登录到 facebook,因为他是从 facebook 进入我的网站的。我可以得到他的公开信息吗?
    • 没有。您的应用程序需要授权才能检索有关用户的信息,而用户本身必须授予您该授权。
    猜你喜欢
    • 1970-01-01
    • 2011-12-28
    • 2019-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多