【问题标题】:PHP Facebook, generate an app access token without an access tokenPHP Facebook,生成没有访问令牌的应用访问令牌
【发布时间】:2015-09-27 06:20:05
【问题描述】:

我们的应用程序有一个高分数据库设置。我们要求用户在他们的分数被添加到数据库之前登录到 facebook,并且我们使用他们的 facebook id 来识别他们在表中的条目。由于某种原因,出现了一个错误并重复了他们的高分。我们无法弄清楚是什么导致了这个错误(我们无法重现它),但我们所知道的是,在这个过程中的某个时刻,用户的应用程序特定 facebook 用户的最后两位数被设置为 0,使得这与他们早期的进入不同。

我的问题与错误无关(我需要给出问题的上下文)。在我们找出原因之前,我们解决这个问题的方法是让一个 cron 作业查找任何重复的名称和电子邮件地址,然后查看条目中的每个 facebook id 并确定两者中哪个有效,哪个无效。

在查阅文档后,我可以使用以下 api 调用生成应用访问令牌:https://developers.facebook.com/docs/facebook-login/access-tokens#apptokens。然而,允许我向 facebook 发出请求的 php 对象需要访问令牌(通过会话)https://developers.facebook.com/docs/php/FacebookRequest/4.0.0。我发现发出 api 请求以获取应用程序访问令牌的文档都已过时,因为他们使用的 sdk 版本已贬值。

所以,据我所知,我需要一个访问令牌来生成一个访问令牌。一定有办法获取应用访问令牌

(如果我对文档有任何误解,请将其作为评论发布,以便我改进问题)

【问题讨论】:

    标签: php facebook-graph-api facebook-php-sdk access-token


    【解决方案1】:

    您可以生成应用访问令牌,如

    所述

    随叫随到

    GET /oauth/access_token?
         client_id={app-_id}
        &client_secret={app_secret}
        &grant_type=client_credentials
    

    或者像这样使用串联的应用 ID 和应用密码:

    {app_id}|{app_secret}
    

    {app_id}{app_secret} 可以在您的应用设置中找到

    【讨论】:

    • 嗯,这并不能回答我的问题。您列出的 API 调用需要由 FacebookRequest 对象调用,(我还注意到 facebook 最近已迁移到 v5.0,但是我们的代码是使用 v4 开发的),它需要一个 FacebookSession 对象,它本身需要创建带有访问令牌。正如我在问题中所说,这意味着我需要一个访问令牌来生成访问令牌。它从未明确列出如何在代码中使用{app_id}|{app_secret} 方法,您是否使用它来代替访问令牌参数?是否有另一个使用这种方法的重载方法?
    • 它回答了你的问题。只需将其用作访问令牌。这一切都在文档中。
    猜你喜欢
    • 2017-06-22
    • 1970-01-01
    • 2012-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-02
    相关资源
    最近更新 更多