【问题标题】:Refresh access token without user intervention无需用户干预即可刷新访问令牌
【发布时间】:2011-11-16 01:33:43
【问题描述】:

我正在使用 facebook sdk for android 来获取 FB 数据。登录成功后收到的access_token在一定时间后过期。我想在后台刷新令牌令牌。 IE;不应再次提示用户输入凭据。 提前感谢

【问题讨论】:

    标签: android facebook refresh access-token


    【解决方案1】:

    我希望你不能在没有用户提示的情况下刷新访问令牌,因为这意味着每个人都可以在没有请求权限的情况下做事。

    如果您在访问令牌超时后调用身份验证过程,则只需 1 秒,通常只是在屏幕上闪烁。

    请注意,访问令牌可能会在过期日期之前过期。例如,用户只是在另一个窗口中注销。此外,如果用户更改她/他的密码,离线令牌可能会过期。

    所以只需调用标准的 auth url,你的访问令牌就会被刷新。

    【讨论】:

    • 如果您想在后台使用定期同步您的联系人的服务怎么办?您不希望用户在执行其他操作时获得对话框。你可以做一个通知,但你不应该这样做。您可以在 Web 服务中使用它,为什么不能在应用程序中使用呢? https://graph.facebook.com/oauth/access_token?client_id=APP_ID&client_secret=APP_SECRET&grant_type=fb_exchange_token&fb_exchange_token=EXISTING_ACCESS_TOKEN
    • Daverix,Facebook 变化很快,1 年前还没有这样的功能。 :)
    【解决方案2】:

    你可以获得一个不会过期的令牌。只需将offline_access 添加到您的应用所请求的 Facebook 权限即可。

    检查permissions documentation

    正如 Kostadin 所指出的,这种方式现在似乎已经不复存在了。

    【讨论】:

    • 2012 年 5 月 1 日 - 不再有离线访问令牌。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-17
    • 2022-11-17
    • 2016-09-23
    • 1970-01-01
    • 2019-06-29
    相关资源
    最近更新 更多