1

我需要知道 Facebook 访问令牌的到期时间。

我已经知道以下方法:

  1. 延长令牌寿命。响应将包含令牌过期时间。但是这种方法需要我们并不总是拥有的应用程序秘密。

  2. 使用 Facebook 令牌调试器 ( https://developers.facebook.com/tools/debug )。但这需要我们的代码来解析这个 html 文件,而且看起来不太优雅。

那么有没有可能使用graph api/fql来查询token的过期时间呢?我在谷歌上搜索过,但没有得到答案。

4

1 回答 1

1

您需要查询以下端点并检查响应:

graph.facebook.com/debug_token?
             input_token={token-to-inspect}
             &access_token={app-token-or-admin-token}

如果管理员令牌错误,则 fb 返回

{"error":{"message":"Invalid OAuth access token.","type":"OAuthException","code":190}}

如果 input_token 错误,则 fb 返回

{"data":{"error":{"message":"Invalid OAuth access token.","code":190},"is_valid":false}}

    /* successful response
     * {
            "data": {
            "app_id": APPID,
            "is_valid": true,
            "application": "APPNAME",
            "user_id": UID,
            "issued_at": 1371671725,
            "expires_at": 0,
            "scopes": ["create_note", "manage_pages", "photo_upload", "publish_actions", "publish_stream", "share_item", "status_update", "video_upload"]
            }
        }
     */
于 2013-06-29T16:21:33.443 回答