即时通讯使用新的Requests 2.0(http://developers.facebook.com/docs/reference/dialogs/requests/)
所以我设置了一切并且工作正常 - 我只剩下一个问题了。当用户选择50个朋友邀请我的应用时。我需要的是这些人的用户ID(因此用户不能再邀请他们)。
我现在要做的是通过这样的调用获取每个用户ID: $ data = $ facebook-> api('/'。$ request_id。'/'); $ user_id = $ data ['to'] ['id'];
所以我循环所有50 $ request_id并获取用户的id。
但这是非常缓慢的,因为我做了50个请求(有时它根本不工作......)。那么有没有更好的方法从新的请求2.0对话框中获取受邀用户ID?
答案 0 :(得分:0)
在这个阶段,看起来没有一种替代策略来循环遍历所有的request_ids
为什么不尝试将从对话框中返回的request_id拆分为较小的组,并且可能在处理组之间暂停一下......或者在请求之间再次使用批处理请求。这些请求需要一些时间 - 您必须禁用对话框的触发器,直到您完成request_ids的处理,然后将这些用户IDS添加到exclude_ids
属性。
如果您要限制用户只向每个用户发送一个请求,您可能还会考虑仅在响应时才管理您的请求... 您允许用户根据需要向尽可能多的用户发送任意数量的请求 - 然后当您响应该请求时,循环通过该用户未完成的请求并从同一用户中删除这些请求,类似于您上面提到的:
$data = $facebook->api('/'.$request_id.'/','DELETE');
答案 1 :(得分:0)
我所做的是获取用户朋友列表,然后使用我从请求信息中获得的用户ID查找朋友姓名。
答案 2 :(得分:0)
只需在一次通话中查看所有请求的完整详细信息:
https://graph.facebook.com/?access_token=<ACCESS TOKEN>&ids=<CSV LIST OF THE REQUEST IDS>