【问题标题】:Using the Facebook long lived token使用 Facebook 长寿命令牌
【发布时间】:2014-05-08 21:12:18
【问题描述】:

我已经与在当前会话中使用 Facebook 长寿命令牌的问题作斗争了几个小时来处理 Facebook 请求。

应用程序的流程如下: 1) 用户启动 Android 应用并点击“使用 Facebook 登录”按钮 2) 用户被重定向到 Facebook,在那里他们可以访问其帐户的某些部分(朋友列表、电子邮件等) 3)然后用户被重定向回我的应用程序,该应用程序(如果成功)发现 Session 对象已打开,并且我检索(以及其他信息)短期访问令牌。 4)我将此短期访问令牌传递给我的服务器应用程序,该服务器应用程序再次调用 Facebook 以将短期令牌交换为长期令牌,我的服务器应用程序将其返回给我的应用程序。

收到长期访问令牌后,如何“使用”或修改我现有的会话 (Session.getActiveSession()),以便在对 Facebook 的后续请求中使用长期访问令牌,从而在 (我相信)60 天?

我目前使用的是最新版本的 Android SDK。

感谢任何帮助。

谢谢!

【问题讨论】:

    标签: android facebook session facebook-graph-api facebook-sdk-3.0


    【解决方案1】:

    https://developers.facebook.com/docs/reference/android/current/class/Session/#class_methods 的文档中,我可以看到有一个

    openActiveSessionWithAccessToken(Context, AccessToken, StatusCallback) 方法。

    说明:

    根据现有的 Facebook 访问令牌打开会话,以及 使该会话成为当前活动的会话。这种方法应该 仅在应用程序先前已获得 访问令牌并希望将其导入 基于 Session/TokenCachingStrategy 的会话管理系统。一种 主要示例是以前未使用的应用程序 Facebook SDK for Android 并实现了自己的 会话管理方案,但希望实现升级路径 现有用户,因此他们在升级到 使用 SDK 的应用版本。一般来说,这种方法将 只调用一次,当应用程序检测到它已经升级时—— 之后,应该使用通常的 Session 生命周期方法 管理会话及其关联的令牌。

    没有验证令牌、令牌源或权限是否存在 实际上有效。调用者有责任确保这些 准确反映已传入令牌的状态,或 对 Facebook API 的调用可能会失败。

    你试过了吗?

    【讨论】:

    • 嗨,托比,我试过了。我首先尝试先关闭会话,然后调用该方法 - 这导致了错误。然后我尝试不关闭会话然后调用'openActiveSessionWithAccessToken'方法,这实际上关闭了会话。我将再试一次并获得要发布的确切错误消息。不过感谢您的回复!
    猜你喜欢
    • 2013-10-14
    • 2014-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多