这可能是我从文档中做出推断(给出了它的组织方式,并不难做到),但Facebook是否对应用程序开发人员如何创建和利用测试用户做了一些重大改变?
对于我的回忆(我上个月大约一个月前做过),开发人员过去可以从登录帐户中转到网址,将该用户转换为没有权限的“测试用户”在公共系统中,但可以作为发布,获取权限等的测试实体。我通过这种方法设置了测试用户,并为他/她生成了保存到数据库的访问令牌。
最近这一切都停止了。我的第一个问题是打印出我创建的Facebook对象的属性,一旦有了JSON解码的用户数据,现在有一个例外来自访问/ me / api端点的CURL进程。
Facebook GraphAPI - 未捕获的EntCannotSeeExistenceException:当前查看器12345无法看到由id 12345支持的实体(类EntTestUser)(EntID:12345)
值明显改变以保护无辜者。然而,用户标识是相同的,这使得由于某种原因拥有ID 12345的用户无权查看12345而感到奇怪
我查看了Facebook文档,发现他们的新逻辑似乎是让应用程序本身创建临时测试用户并为他们生成登录URL,这里有很多人可能都熟悉。
http://developers.facebook.com/blog/post/429
这个系统取代旧系统吗?似乎不再允许代表通过旧方法生成的测试用户帐户行事,因为它们不是由“应用程序”制作的。我写了一些快速逻辑来测试这个具有固定访问令牌的新流程并且它有效 - 我还应该提到所有应用程序逻辑功能,因为它最初没有真正用户帐户的错误。有没有其他人用他们的Facebook api应用程序体验过这个?我们可以肯定地说,通过这种旧方法制作的这些旧的访问令牌/用户ID /帐户现在实际上是无用的吗?
一如既往地感谢。
答案 0 :(得分:3)
http://developers.facebook.com/blog/post/475
我讨厌打破形式并回答我自己的问题,但是根据评论,人们似乎遇到了这个问题。
今天通过开发人员更新我终于找到了上面的帖子(当然已经写了解决方法)引用:
我们已经取消了转身的能力 测试帐户中的用户帐户为 这里提到要防止 真实的无意转换 帐户到测试帐户。该 创建测试帐户的正确方法是 通过使用帐户连接 App Graph Object。
这个微小的通知与3月的更新混在一起。可能应该RSS他们的开发者博客,所以这些东西不会再让我感到惊讶!这个特别的更新于3月4日生效。无论如何,从源头上得到一个确凿的答案是件好事。