原文 2017-05-07 12:04:52 发表于 CSDN,这里对以前写的文章做下收录。
最近研究了下facebook登陆授权,发现他的API文档真的不尽人意,有点像是新手引导,很多API参数细节都没有说明,都是一笔带过。所以,我这里写了篇文章,专门讲Facebook登录服务器端接入。
验证facebook账号授权
{ "data": { "app_id": 000000000000000, "expires_at": 1352419328, "is_valid": true, "issued_at": 1347235328, "scopes": [ "email", "publish_actions" ], "user_id": 100207059 } }
获取facebook账号个人信息
前面这个接口等同于 /me?access_token={User-Token}, 默认只返回 id,name ,如果想要更多用户数据,就要以下面的方式查询了
/{user-id}?fields=id,name,gender,friends&access_token={User-Token},或 /me?fields=id,name,gender,friends&access_token={User-Token}
更多参数参考Facebook API文档, http://developers.facebook.com/docs/reference/api/
其他问题
这几天接入新项目,授权验证出现了问题,提示如下:
{"error": {"message":"Invalid OAuth access token.", "type":"OAuthException", "code":190, "fbtrace_id":"AUC6EosTgEA2dJqwhLPjX"}}
最后问题定位到,开发者后台提交APP时选错了应用类型
按字面提示,容易被引导选了第二项,事实上,要选择第四项,即“其他”项。
问题来了,假如是第二种,该如何验证?
这个问题是写文章时想到的,我只研究了facebook文档,没做过测试,只提供下思路。
https://developers.facebook.com/docs/games/gaming-services/domain
对于gaming类的登陆,要使用特定的域名,取字段 graph_domain 的值,不可使用 graph.facebook.com,否则会验证失败,提示OAuth exception报错
2020-12-25 增加授权验证(Invalid OAuth access token)的异常处理
请问博主你是怎么访问 graph.facebook.com的? 我开了东京的vpn显示ping不通
我使用阿里云的港服、东亚服、美服都可以访问,内地服请求不了。vpn我猜测可能是facebook单方面禁止了,估计是存在安全问题
博主请问
error”: {
“code”: 190,
“message”: “Invalid OAuth access token.”
}
是拼接的Your AppId|Your AppSecret 无效呢?还是用户的token错误呢?
我遇到这个报错,出现的情况都是用户的token错误,需要用户重新授权进入APP。但如果所有用户都是报这个错,那应该是Your AppId|Your AppSecret 错误,其中|需要转义为%7C
太感谢了,懵逼了两天,看到你这个文章才知道怎么做了.
太好了,有帮助就好
感谢博主
作者你好,我想问一下苹果怎么设置vpn进脸书
参考苹果设置vpn的方式,在设置-通用-vpn-添加配置,目前免费的vpn很不稳定,不一定连得上脸书,建议购买商业vpn
博主你好 请教一个问题 https://graph.facebook.com/debug_token 这个做fb登录后端验证,貌似这个接口有请求次数限制,这个如何处理
普通用户调用次数应该达不到他的限制,可能全局有限制,减少压力。多重试一次,或者服务器缓存下token,如果半个钟内重复登录则只由服务器处理,不调他的接口