Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.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
Php Facebook是否更改了测试用户帐户的系统?_Php_Facebook_Curl_Facebook Graph Api - Fatal编程技术网

Php Facebook是否更改了测试用户帐户的系统?

Php Facebook是否更改了测试用户帐户的系统?,php,facebook,curl,facebook-graph-api,Php,Facebook,Curl,Facebook Graph Api,这可能是我从文档中推断出来的(考虑到文档的组织方式,这并不难做到),但Facebook是否对应用程序开发人员创建和利用测试用户的方式做出了一些重大改变 据我回忆(我上一次这样做大约是在一个月前),开发人员过去可以从登录帐户中访问url,将该用户转换为“测试用户”,该用户在公共系统中没有权限,但可以作为发布、获取权限的测试实体,等等。我通过这个方法设置了一个测试用户,并为他/她生成了访问令牌,这些令牌被保存到数据库中 最近这一切都停止了。我的第一个任务是打印出我创建的Facebook对象的属性,一

这可能是我从文档中推断出来的(考虑到文档的组织方式,这并不难做到),但Facebook是否对应用程序开发人员创建和利用测试用户的方式做出了一些重大改变

据我回忆(我上一次这样做大约是在一个月前),开发人员过去可以从登录帐户中访问url,将该用户转换为“测试用户”,该用户在公共系统中没有权限,但可以作为发布、获取权限的测试实体,等等。我通过这个方法设置了一个测试用户,并为他/她生成了访问令牌,这些令牌被保存到数据库中

最近这一切都停止了。我的第一个任务是打印出我创建的Facebook对象的属性,一旦有了JSON解码的用户数据,现在访问/me/api端点的CURL进程就出现了异常

Facebook GraphAPI–未捕获的EntCannotSeeExistenceException:当前查看器12345(EntID:12345)无法看到id为12345的实体(类EntTestUser)

为了保护无辜,价值观显然发生了变化。然而,用户ID是相同的,这使得出于某种原因拥有ID 12345的用户没有查看12345的权限变得奇怪

我浏览了Facebook文档,发现了他们的新逻辑,让应用程序本身创建临时测试用户并为他们生成登录URL,这可能是这里很多人都熟悉的

这个系统取代了旧的吗?似乎不再允许代表通过旧方法生成的测试用户帐户行事,因为它们不是“由”应用程序生成的。我编写了一些quick logic,用固定访问令牌测试这个新流程,它起到了作用——我还应该提到,所有应用程序逻辑的功能与最初一样,对于实际用户帐户没有错误。还有其他人在Facebook api应用程序中遇到过这种情况吗?我们可以肯定地说,这些通过旧方法生成的旧访问令牌/用户ID/帐户现在实际上是无用的吗

一如既往地感谢。

我讨厌打破形式,回答我自己的问题,但从评论来看,似乎有足够多的人有这个问题

翻阅今天的开发者更新,我终于找到了上面的帖子(当然,已经编写了解决方法):

我们已经取消了转向的能力 测试帐户中的用户帐户为 这里提到是为了防止 真实数据的无意转换 将帐户转换为测试帐户。这个 创建测试帐户的正确方法是 通过使用的帐户连接 应用程序图形对象


这个小小的通知与三月的更新混杂在一起。也许应该RSS他们的开发者博客,这样这些东西就不会再让我惊讶了!此更新于3月4日生效。在任何情况下,从源代码中获得结论性答案都是很好的。

fb喜欢更改api,不担心向后兼容性much@dogmatic69看起来确实是这样!我只是想确定我是否应该放弃我使用的旧系统,花一些时间来适应通过新方法创建这些测试用户,因为我们仍在开发应用程序,我还不想公开帖子。我今天刚开始看到同样的问题,“我所有的Facebook连接单元测试现在都失败了。@Matt Huggins描述新方法的博文可以追溯到11月,但我认为很可能他们最近某个时候停止支持旧系统,特别是如果你的问题刚刚开始的话。问题是,我不明白为什么他们会保留旧帐户-我仍然可以作为我的老测试用户登录。我今天也开始看到这个错误。我只能将我的应用程序与非测试FB帐户一起使用。我不清楚为什么这会将现有测试帐户与旧方法分离。有没有办法把它们转换成你知道的新类型?谢谢旧的测试帐户不再算作应用程序的“一部分”。应用程序本身现在产生了测试帐户,这些是唯一可以使用应用程序的测试帐户(当然,它们和真实的live帐户)。新的测试帐户是通过API调用创建的,使用为应用程序本身生成的OAuth令牌创建的。现在,尝试将旧的应用程序与应用程序一起使用会引发一个异常,即此实体无法看到应用程序。我不明白他们为什么不禁用所有旧帐户,并在以旧测试人员身份登录时通知用户。我认为他们可能希望保持系统更干净,因为这些新帐户是自我限制的,并且在一段时间后会被删除。