Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 修复了登录系统的Facebook用户ID_Javascript_Php_Facebook Graph Api_Userid - Fatal编程技术网

Javascript 修复了登录系统的Facebook用户ID

Javascript 修复了登录系统的Facebook用户ID,javascript,php,facebook-graph-api,userid,Javascript,Php,Facebook Graph Api,Userid,我正在构建一个依赖于Facebook登录插件()的登录系统。使用这个易于使用的插件,一切都进展顺利。坏消息是:今天,我注意到Facebook更改了其用户ID,这些更改可能会欺骗您的登录系统 解释过程和问题: 1-用户进入您的网站并单击Facebook登录按钮访问您的网站。 2-该插件从Facebook API获取用户信息,包括用户Facebook ID。 3-脚本使用抓取的信息检查数据库,在用户表中查找Facebook ID。 4-如果Facebook ID存在,系统允许用户登录。如果不存在,系

我正在构建一个依赖于Facebook登录插件()的登录系统。使用这个易于使用的插件,一切都进展顺利。坏消息是:今天,我注意到Facebook更改了其用户ID,这些更改可能会欺骗您的登录系统

解释过程和问题: 1-用户进入您的网站并单击Facebook登录按钮访问您的网站。 2-该插件从Facebook API获取用户信息,包括用户Facebook ID。
3-脚本使用抓取的信息检查数据库,在用户表中查找Facebook ID。 4-如果Facebook ID存在,系统允许用户登录。如果不存在,系统将为用户创建一个新帐户并将其登录到您的网站。 因此,只要Facebook更改用户ID,同一Facebook用户可能会注册多次

正如我今天提到的:有时候,Facebook会给用户一个9位数的ID,有时候会给用户一个19位数的ID。如果您使用了这些ID中的任何一个;它会将您重定向到同一用户的配置文件。例如:如果用户的ID为9999999和1010101010101 这两个URL将引导您访问相同的配置文件

另外,脚本会检查用户的电子邮件,但是用户可以选择不向您的网站提供其电子邮件地址。 我使用API v2。。我没有使用旧版本(v1.)。因此,我认为这不是编年史或应用程序范围ID的问题

如果你有任何想法,帮助获得一个固定的Facebook用户ID,请让我知道。
提前谢谢你

你真的能证明Facebook突然改变了身份证吗,比如Facebook上的任何文档链接都会这么说吗?我猜问题出在你这边。@adeneo我唯一能证明的就是我用来测试应用程序的用户帐户(ID)。我查找了Facebook文档,但没有找到任何关于这个问题的文档。我可以为同一用户向您发送(非公开)2个ID。我在使用相同的Facebook应用程序和相同的Facebook API版本时获得了这些ID。因此,我认为问题可能不在我这边weblover刚刚编辑Facebook并没有更改ID。你在使用不同的应用程序吗?你知道“应用范围ID”吗?您是否总是使用/me端点获取ID?我很确定这是应用程序范围(和全局)ID的问题。@luschn我希望我错了,这个问题是我的问题。不,我不使用不同的应用程序,我通过以下方式获得facebook SDK的id:$response=$fb->get('/me?fields=id,name,email');好的,那么你如何获得另一个(不同的)id呢?同样的api调用和同样的用户访问令牌肯定会给你同样的结果。你真的能证明Facebook突然改变了ID,比如Facebook上的任何文档链接都会这么说吗?我猜问题出在你这边。@adeneo我唯一能证明的就是我用来测试应用程序的用户帐户(ID)。我查找了Facebook文档,但没有找到任何关于这个问题的文档。我可以为同一用户向您发送(非公开)2个ID。我在使用相同的Facebook应用程序和相同的Facebook API版本时获得了这些ID。因此,我认为问题可能不在我这边weblover刚刚编辑Facebook并没有更改ID。你在使用不同的应用程序吗?你知道“应用范围ID”吗?您是否总是使用/me端点获取ID?我很确定这是应用程序范围(和全局)ID的问题。@luschn我希望我错了,这个问题是我的问题。不,我不使用不同的应用程序,我通过以下方式获得facebook SDK的id:$response=$fb->get('/me?fields=id,name,email');好的,那么你如何获得另一个(不同的)id呢?使用相同的用户访问令牌的相同api调用肯定会为您提供相同的api调用。