【问题标题】:Facebook get access_token by username/passwordFacebook 通过用户名/密码获取 access_token
【发布时间】:2014-07-15 17:00:34
【问题描述】:

我实现了一些与 facebook 相关的东西并访问了用于该 pourposes 的图形 api。但是为了实现集成测试,我需要一个简单的策略来获取access_token。所以我为此创建了测试用户。我怎么能得到access_token 只涉及服务器端,而不包括链中的浏览器。理想情况下,我只需要将登录名/密码交换为令牌。


正确的工作流程如下所示:

根据正确答案,有facebook提供的特殊测试用户。 为了能够正确测试系统,您需要执行以下流程

  1. 获取应用程序访问令牌
  2. 通过"GET /{app_id}/accounts/test-users"请求应用程序的测试用户
  3. 解析响应并从响应中提取每个用户的 access_tokens。

【问题讨论】:

  • 2.应该是 POST 而不是 GET
  • 不,我不需要创建它,我需要读取现有用户的列表,所以这就是 GET 那里
  • 好的,但这意味着您必须首先在应用程序仪表板中创建测试用户。并且现有测试用户的Access Token也可以从App Dashboard中导出。
  • 是的,实际上我已经有了它们。我使用 testusers 进行测试,但不知道如何为他们获取 access_token。这就是为什么你帮了我很多。

标签: facebook facebook-graph-api oauth-2.0


【解决方案1】:

【讨论】:

  • 好的,看起来不错。但是,如果我有应用程序凭据,我能否以某种方式简单地获得测试用户的访问令牌?
  • 如果您通过POST /{app-id}/accounts/test-users 以编程方式创建测试用户,您会在响应中获得idaccess_token
  • 谢谢,这很有帮助。
【解决方案2】:

简短的回答:你不能。

服务器端只能获取应用访问令牌、页面访问令牌或扩展现有访问令牌。

所以这取决于你需要实现什么,如果你只是想从 F​​acebook 页面获取公共内容,即使是应用访问令牌也可能足够好。但是您不能在服务器端创建用户访问令牌。

但是,通过 Graph API 本身创建的真实测试用户可能是可能的,有关此链接,请参阅 Tobis 回答。但是使用用户名/密码绝对不可能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-06
    • 2018-07-09
    相关资源
    最近更新 更多