api - 检索对开放图 2 中的自定义对象执行自定义操作的好友列表

标签 api facebook-graph-api facebook-opengraph facebook-social-plugins open-graph-beta

我想使用带有 open graph 2 操作的 graph api 来执行类似 facepile 的操作:从一个自定义对象和一个自定义对象,向我提供对此对象执行此操作的 friend (使用我的 facebook 应用程序)。

问题是使用 FQL,我无法查询自定义对象和操作。使用图形 API,我无法找到将我的 friend 列表与我感兴趣的对象相交的方法。

我能做的最好的事情就是使用图形 API 的批处理模式进行以下操作:

batch=[
  // First we get the list of friends that are using my facebook application
  { "method": "GET", "relative_url": "fql?q=SELECT+uid+FROM+user+WHERE+uid+IN+(SELECT+uid1+FROM+friend+WHERE+uid2=me())+AND+is_app_user=1+LIMIT+0,49", "name": "friends"},
  // Then query each friend to get the list of objects that went through my namespace:testaction
  { "method": "GET", "relative_url": "{result=friends:$.data.0.uid}/namespace:testaction" },
  { "method": "GET", "relative_url": "{result=friends:$.data.1.uid}/namespace:testaction" },
  ...
  { "method": "GET", "relative_url": "{result=friends:$.data.49.uid}/namespace:testaction" }
]

它的效率非常低,并且没有完全解决我的问题,因为:

  • 我仍然需要过滤结果以仅获取匹配的结果 我想要的对象
  • 如果namespace:testaction中有大量对象,我必须进行分页,进行更多查询(我尽量减少查询次数)

您有更好的方法吗?

最佳答案

这可能并不完全是您想要的,但考虑到 facebook (AFAIK) 不提供(并且可能永远不会提供)执行此操作的能力。我认为你应该简单地自己存储信息,然后从你自己的数据库中查询数据。这就像您在问题中所做的那样,但您可以优化它,因为它是您的数据库。

我确信您已经考虑过这一点,但必须有人这么说。

关于api - 检索对开放图 2 中的自定义对象执行自定义操作的好友列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9214119/

相关文章:

android - 如何从 IG 获取媒体

flash - 加载crossdomain.xml策略文件时出现网络故障怎么办?

ios - iOS-将图像和文本发布到FB用户墙

facebook - 如何在新时间轴中显示(我自己的)Flash 播放器的大预览?

angular - 动态 og :image angular2

api - 如何使用 Rest API 在测试用例工作项中添加测试步骤 - TFS2018/Python

c# - 对 EventWaitHandle 的名称感到困惑

python - 我如何从外部 API 填充 Django 模型?

Android Facebook SDK 为同一应用程序提供不同的用户 ID

facebook - 我可以强制刷新 Facebook 对象的图像 URL 吗?