服务器端脚本上传相册至Facebook应用页:获取Page Access Token方案
获取永久Facebook Page Access Token(服务器端脚本专用)
针对你提到的服务器端脚本无法以用户身份授权的问题,手动生成永不过期的Page Access Token确实是最适配的解决方案,我把具体操作步骤拆解得明明白白:
第一步:获取短期用户Access Token
- 打开Facebook的Graph API Explorer,选择你要操作的目标应用
- 在权限列表里勾选核心权限:
pages_show_list、pages_read_engagement、pages_manage_posts(这些是上传相册必需的权限) - 点击「Generate Access Token」,用你作为目标页面管理员的Facebook账号完成授权,就能拿到一个有效期约1小时的短期用户Access Token
第二步:转成60天长期用户Token
在Graph API Explorer的请求框中输入以下命令(替换掉括号里的内容):
oauth/access_token?grant_type=fb_exchange_token&client_id=你的应用ID&client_secret=你的应用密钥&fb_exchange_token=刚才拿到的短期用户Token
发送请求后,会返回一个有效期60天的长期用户Token。
第三步:获取目标页面的长期Token
接着在请求框输入:
me/accounts?access_token=刚才拿到的长期用户Token
响应结果里会列出你管理的所有页面信息,找到目标页面对应的access_token——这就是页面的长期Token,但此时还不是永久的。
第四步:将页面Token转为永久Token
把刚拿到的页面Token放入请求框,输入:
debug_token?input_token=你的Page Access Token&access_token=你的应用ID|你的应用密钥
查看响应中的expires_at字段,如果显示0,就说明已经成功转为永不过期的Token了;如果没显示0,重复第三步的操作重新获取一次页面Token即可。
最后验证可用性
拿到永久Token后,你可以测试调用/{page-id}/albums接口,确认服务器端脚本能直接用这个Token完成相册上传操作。
重要提醒:这个永久Token拥有目标页面的管理权限,一定要妥善保管,绝对不能泄露。如果不慎泄露,及时去Facebook开发者平台重置应用密钥,旧Token会立刻失效。
内容的提问来源于stack exchange,提问作者Minstel
相关产品推荐
相关产品推荐

