脚本宝典收集整理的这篇文章主要介绍了php – 使用全局ID在图api v2中获取应用用户数据,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
这一切都很好,但api的v2也禁止获取具有全局ID的用户数据.从画布应用程序内部调用带有全局ID的图表会产生一个例外,即使用特定于应用程序的ID.
我在这里有点不知所措.我正在尝试获取应用程序用户的随机子集的基本信息,以显示给当前用户,该用户不一定是朋友.但是我的大多数用户都将全局ID存储在我的数据库中,因为他们很久以前就加入了.好像我的应用程序是新的,我的数据库中存储的所有ID都是特定于应用程序的,因此我可以获得他们的信息.这告诉我,Facebook不打算禁止我获取我想要的数据.这对我来说是不可能的,因为有一个旧应用程序的不幸情况.
有什么方法可以让我获得这些数据吗?我知道我可以恢复到图表的v1但这将在2015年4月30日消失.我只想要最基本的信息,而我只是显示名字.
我正在使用PHP SDK的第4版.我的请求看起来像这样:
(new FacebookRequest( self::$session,'GET','',array('ids' => implode(',',$userIds)) ))->execute()->getGraphObjectList(GraphUser::className());
我的会话来自在FacebookCanvasLoginHelper上调用getSession,如他们的文档所示,所以我有一个新的访问令牌和签名请求.
编辑
所以,我解除了我的问题,因为我愚蠢.萨希尔是对的.我的问题是我在一个单独的应用程序中进行测试(不是官方测试应用程序,而是我很久以前创建的应用程序用于测试)所以有问题的应用程序ID实际上没有添加应用程序,所以我可以得到他们的信息.哎呀.很好的理由迁移到官方测试应用程序.
再次编辑
我取消了我的问题. Facebook很蠢.我创建了一个与我的真实应用程序绑定的官方测试应用程序,它为我自己提供了一个特定于应用程序的ID,而不是为主应用程序提供的ID.我查看以前遇到过麻烦的页面,同样的例外情况:
Facebook\FacebookAuthorizationException: The global ID 693041250 is not allowed. Please use the application specific ID instead.
测试应用程序上的开发页面说:
>测试应用程序与生产应用程序共享相同的应用程序范围的用户ID命名空间,从而可以更轻松地调试应用程序范围的ID问题,或者在使用生产数据库副本进行开发的情况下.
这似乎是公然不正确的.我正在使用我的生产数据库的副本.我知道我的Facebook ID.它甚至不会为生产应用程序提供我自己的ID,更不用说其他人了.这个新东西是否仅适用于全新的应用程序或其他东西?对于像这样的事情,我现在准备放弃Facebook开发.
以上是脚本宝典为你收集整理的php – 使用全局ID在图api v2中获取应用用户数据全部内容,希望文章能够帮你解决php – 使用全局ID在图api v2中获取应用用户数据所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。