Facebook iOS presentRequestsDialogModallyWithSession返回所选好友
我正在开发一个iOS应用程序,我希望能够通过facebook向我的应用程序发送邀请,这是我使用facebook成功做到的 提交请求DialogModAllyWithSessionFacebook iOS presentRequestsDialogModallyWithSession返回所选好友,ios,iphone,facebook,facebook-graph-api,fbwebdialogs,Ios,Iphone,Facebook,Facebook Graph Api,Fbwebdialogs,我正在开发一个iOS应用程序,我希望能够通过facebook向我的应用程序发送邀请,这是我使用facebook成功做到的 提交请求DialogModAllyWithSession 但我也希望我的应用程序知道邀请发送给了谁。。那可能吗?是的,绝对可能。 以下是获取用户已向其发送邀请的朋友列表的方法 在presentRequestsDialogModallyWithSession中,必须有一个处理程序,如下所示: handler:^(FBWebDialogResult result, NSURL *
但我也希望我的应用程序知道邀请发送给了谁。。那可能吗?是的,绝对可能。 以下是获取用户已向其发送邀请的朋友列表的方法 在presentRequestsDialogModallyWithSession中,必须有一个处理程序,如下所示:
handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) {
您可以在resultURL变量中获得响应URL的结果。如果使用此方法将其转换为字符串
[resultURL parameterString]
您将获得fbconnect URL,如下所示:fbconnect://success?request=57985658213xxxx&to%5B0%5D=13xxxxxxx9&to%5B1%5D=1000000xxxxxxx3
在这里,request=之后的第一个参数是“57985658213xxxx&to”,这是请求id,其余参数由“&to%5B0%5D=”和“&to%5B1%5D=”分隔,这是朋友的facebook id。在这里,我向两个人发送了邀请,他们是:13xxxxxx9,1000000xxxxxx3
我将xxxxxxx放在上述id中,而不是所有数字,因为我不想在stackoverflow中公开显示我朋友的facebook id;) 将返回的URL转换为字符串后,使用
NSString* fbResponse = [resultURL absoluteString];
我反复浏览我发送给presentRequestsDialogModallyWithSession的Facebook好友列表(按顺序),并创建以下正则表达式从返回的URL字符串中提取好友的Facebook ID:
(?:to%5B0%5D\=)(\d+)
其中0是我想要的项目的索引,在本例中是第一个
注意:虽然这样做有效,但我发现整个解决方案相当脆弱。它对来自PresentRequestsDialogModAlly的响应非常敏感,会话完全不变。一个更好的解决方案可能是放弃Objective-C类,通过HTTP请求进行图形调用,这将有希望返回JSON,而不是javascript中的JSON——更加健壮。hey User3370459!你找到解决办法了吗?