今天(2018年4月12日)FB弃用了oauth 2.5并且我所有的Unity安卓游戏的用户都收到了错误:" 400 Bad Request"。 我已经在开发人员设置中添加了所有可能的重定向URI,并将oauth升级到2.6(并且还尝试了2.7)但它仍然无法正常工作。 生产用户收到相同的" 400错误请求"错误,我的游戏登录无效。 请提供一些有关如何解决此问题的建议,而不会创建需要数月才能更新到所有用户的新应用更新。
这是失败的产品代码:
FB.API("/me?fields=id,name,gender,first_name,last_name,email", HttpMethod.GET, new FacebookDelegate<IGraphResult>((IGraphResult e) => onFBUserInfo(e)));
谢谢!!!
更新:例外情况是:OAuthException 2500 必须使用活动访问令牌来查询有关当前
的信息答案 0 :(得分:0)
感谢@CBroe我设法通过使用他的scoped_id删除用户权限并获取App Token来解决问题。这是Graph Explorer截图。 现在,我将自动执行该流程并撤消所有用户:
更新:我能够创建图形api DELETE脚本,它会重置我的用户权限,并且能够正常登录。 然而,问题的根本原因似乎是在Facebook的一面,因为这是FB技术支持回复的内容:
问题似乎在我们这边。我们刚刚应用了修复程序 地址FB的登录问题,与访问令牌相关
这是我的JS重置权限脚本:
function deleteALL(index, endIndex) {
var access_token = "<INSERT YOUR APP TOKEN HERE>";
var URL = "https://graph.facebook.com/v2.11/"+arr[index]+"/permissions/?method=delete&access_token="+access_token;
$.ajax({
url: URL,
context: document.body
}).done(function(data) {
console.log("SUCCESS:"+data.success+" index: "+index);
if (endIndex > index+1)
deleteALL(index+1, endIndex);
}).fail(function() {
console.log("FAILED: index: "+index);
if (arr.length > index+1)
deleteALL(index+1, endIndex);
});
}