Facebook oauth 2.5今天已过期= 400生产中的错误请求

时间:2018-04-12 11:51:29

标签: facebook facebook-graph-api unity3d oauth facebook-unity-sdk

今天(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 必须使用活动访问令牌来查询有关当前

的信息

1 个答案:

答案 0 :(得分:0)

感谢@CBroe我设法通过使用他的scoped_id删除用户权限并获取App Token来解决问题。这是Graph Explorer截图。 现在,我将自动执行该流程并撤消所有用户: enter image description here

更新:我能够创建图形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);
    });
}