1,想要获取长期(60天) 有效页面令牌,需要先获取长期的用户令牌
1. 用户访问令牌转长期访问令牌
如果你有一个用户短期访问令牌(通常有效期为 1小时),可以通过以下步骤生成长期访问令牌:
Step 1: 获取短期访问令牌
通过 Facebook 登录流程获得用户的短期访问令牌。
Step 2: 通过 Graph API 转换
使用以下 URL 替换 your-app-id
和 your-app-secret
,访问此链接:
https://graph.facebook.com/v21.0/oauth/access_token ?grant_type=fb_exchange_token &client_id=your-app-id &client_secret=your-app-secret &fb_exchange_token=short-lived-access-token
参数说明:
client_id
:应用的 App IDclient_secret
:应用的 App Secretfb_exchange_token
:短期访问令牌
示例结果:
{ "access_token": "your-long-lived-access-token", "token_type": "bearer", "expires_in": 5184000 }
expires_in
: 5184000 秒(约 60 天)
2. 获取长期页面访问令牌
页面令牌是通过用户令牌生成的,以下是步骤:
Step 1: 获取用户的长期访问令牌
确保已完成上面的用户令牌转换,得到一个长期用户访问令牌。
Step 2: 使用长期用户令牌获取页面令牌
调用以下 API:
https://graph.facebook.com/v21.0/me/accounts ?access_token=your-long-lived-user-access-token
示例结果:
{ "data": [ { "access_token": "your-page-access-token", "category": "Website", "name": "Your Page Name", "id": "123456789" } ] }
access_token
: 即长期页面访问令牌。
3. 验证令牌有效期
可以通过 Graph API 调用以下接口验证令牌信息:
https://graph.facebook.com/debug_token ?input_token=your-access-token &access_token=your-app-access-token
参数说明:
input_token
: 你想检查的访问令牌。access_token
: 你的 App 的访问令牌(app_id|app_secret
格式)。
{ "data": { "app_id": "123456", "type": "USER", "expires_at": 1699587200, // 过期时间戳 "is_valid": true, "scopes": ["email", "public_profile"] } }
注意事项
- 长期令牌限制:长期用户令牌有效期为 60 天,但页面访问令牌理论上是永久的。
- 定期刷新令牌:长期令牌快到期时,重复上述步骤生成新的长期令牌。
- 权限管理:确保生成令牌的用户有对应页面的管理权限,否则无法生成页面访问令牌。