【问题标题】:Facebook API - getting a token that never expiresFacebook API - 获取永不过期的令牌
【发布时间】:2015-01-08 19:19:38
【问题描述】:

我想生成一个永不过期的令牌。

我拥有“manage_pages”权限,如果用户拥有“粉丝专页”,则令牌将永不过期。

但如果用户没有创建任何粉丝页面,则令牌将在 2 个月后过期。

我正在使用最新的 api (PHP SDK)。

这是我的登录信息:

$session = $helper->getSessionFromRedirect();

$token = $session->getToken();

在那之后,我正在做类似的事情:

$accounts = new FacebookRequest($session, 
'GET', 
'/me/accounts?fields=picture,access_token,name');

如果你们中的一些人知道我如何获得一个永不过期的令牌,尽管用户没有粉丝页面,那就太好了

【问题讨论】:

  • 这是不可能通过 Graph API 实现的。

标签: facebook api oauth facebook-graph-api-v2.1


【解决方案1】:

唯一永久有效的令牌是应用程序访问令牌扩展页面访问令牌。您无法获得永久有效的用户令牌,而且您也永远不需要它。如果用户超过 2 个月没有访问该应用程序,他很可能不再使用该应用程序。不过,您可以在用户访问您的应用时使用FB.getLoginStatus 轻松刷新用户令牌。

以下是您需要了解的有关访问令牌的所有信息:

【讨论】:

    【解决方案2】:

    如果它访问您需要的 Graph API,您可以调用 Graph API,而无需应用访问令牌。正如 Facebook 所说:

    还有另一种调用 Graph API 的方法,不需要使用生成的应用令牌。您可以在拨打电话时将您的应用程序 ID 和应用程序密码作为 access_token 参数传递: http://graph.facebook.com/endpoint?key=value&access_token=app_id|app_secret 选择使用生成的访问令牌还是使用此方法取决于您将应用机密隐藏在何处。

    您可以在此处阅读更多信息:

    https://developers.facebook.com/docs/facebook-login/access-tokens#apptokens

    【讨论】:

      猜你喜欢
      • 2017-02-09
      • 2015-12-27
      • 1970-01-01
      • 1970-01-01
      • 2018-04-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-21
      相关资源
      最近更新 更多