【问题标题】:Refreshing Long Lived Facebook tokens with out user integration在没有用户集成的情况下刷新长寿 Facebook 令牌
【发布时间】:2017-08-17 07:15:48
【问题描述】:

我正在开发一个与 facebook 集成的网站,用于发布和分享内容。我已经生成了短期用户令牌并通过使用 facebook graph api 生成长期令牌来延长令牌到期时间:

GET /oauth/access_token?  
grant_type=fb_exchange_token&           
client_id={app-id}&
client_secret={app-secret}&
fb_exchange_token={short-lived-token}

但是这个长期存在的令牌将在 60 天后过期,之后可能需要用户交互才能再次生成令牌。 如果有任何方法可以在没有用户交互的情况下延长此到期日期,请帮助我。我找到了一种解决方案,它建议重新调用“再次获得长寿令牌”,但它根本没有按预期工作。 请帮帮我。

【问题讨论】:

  • 当然不存在这样的方法,这会破坏首先将您的应用程序的访问限制为最多 60 天的目的。您需要首先获得一个新的短期用户令牌,这需要用户交互。 “一个与 facebook 集成的用于发布和共享内容的网站” - 你为什么需要长期存在的令牌呢?当您以他们的名义分享/发帖时,用户不是在积极使用您的应用吗?
  • @CBroe - 感谢您的快速回复。我们在我们的网站上维护这些长期存在的用户注册令牌。因此,当用户在我们的网站上发布任何内容时,它也需要反映在连接的 Facebook 帐户上。因此,我们使用相同的长寿命令牌使用图形 api 在 facebook 上共享/发布内容。
  • 当用户在你的网站上积极做事时,你所要做的就是嵌入 JS SDK,它会自动确保你总是有一个有效的短期令牌可用.不再需要任何长期代币。

标签: c# asp.net-mvc facebook facebook-graph-api


【解决方案1】:

在发布、共享内容或获取令牌详细信息时,每次 API 调用(每天)都会延长长寿命令牌。因此,您可以使用以下令牌 debugging graph API call 来延长令牌到期时间:

GET /debug_token?
  input_token={input-token}&
  access_token={access-token}

由于此解决方案是从实际研究中演变而来的,因此请在实施前测试工作流程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-27
    • 1970-01-01
    • 2018-10-14
    • 2013-09-05
    • 1970-01-01
    • 1970-01-01
    • 2013-10-14
    • 2015-09-12
    相关资源
    最近更新 更多