使用Unity+Facebook SDK登录报错Invalid Scopes: openid的解决办法
解决Unity Facebook SDK登录时"Invalid Scopes: openid"错误
错误原因
这个报错是因为你的登录请求里包含了openid权限,但该权限属于OpenID Connect协议范畴,和你当前的游戏场景(登录、用户数据获取、好友匹配)无关,而且Facebook不会要求你在后台为这个权限添加使用场景,直接请求会触发开发者专属提示。
解决方案
移除登录请求中的
openid权限
找到示例代码里的登录调用(通常是FB.LogInWithReadPermissions方法),把权限列表里的openid删掉。比如把原来的:FB.LogInWithReadPermissions(new List<string>{"openid", "public_profile", "user_friends"}, AuthCallback);修改为:
FB.LogInWithReadPermissions(new List<string>{"public_profile", "user_friends"}, AuthCallback);按照你的场景,添加
public_profile(获取玩家公开资料)、user_friends(找游戏好友)这类符合你后台设置的权限即可。检查SDK版本与配置
如果你用的SDK版本默认自动携带openid权限,要么升级到最新稳定版(新版本会优化权限请求逻辑),要么确认应用后台的「登录产品」设置里是否开启了OpenID Connect——如果不需要这个功能,直接关闭即可,避免SDK自动请求该权限。确认权限与后台场景匹配
你后台设置的三个场景,对应的基础权限已经足够支撑需求,不需要额外请求openid,所以移除后就能正常登录,也不会影响用户体验(用户看不到这个错误提示,只有开发者会收到)。
内容的提问来源于stack exchange,提问作者TOM
相关产品推荐
相关产品推荐

