我指的是" ios 3.5如何"通过Facebook。这是我的代码
[FBDialogs presentShareDialogWithParams:params
clientState:nil
handler:
^(FBAppCall *call, NSDictionary *results, NSError *error) {
if(error) {
// If there's an error show the relevant message
[self showAlert:[self checkErrorMessage:error]];
} else {
// Check if cancel info is returned and log the event
if (results[@"completionGesture"] &&
[results[@"completionGesture"] isEqualToString:@"cancel"]) {
NSLog(@"User canceled story publishing.");
} else {
// If the post went through show a success message
[self showAlert:[self checkPostId:results]];
}
}
在结果中,我只获得值为1的didComplete键。如何获得post_id?
答案 0 :(得分:2)
使用字典
call.dialogData.clientState
答案 1 :(得分:0)
您是否已检查结果NSDictionary
?
将NSLog(@"Results Dictionary: %@",results);
放入第二个else语句中,并检查此词典的内容。
答案 2 :(得分:0)
如何查看此词典call.dialogData.clientState
http://developers.facebook.com/docs/reference/ios/3.5/class/FBDialogsData
答案 3 :(得分:0)
如果用户在您的应用上登录Facebook,则只会返回post_id。也就是说,如果用户已对您的应用进行了身份验证如果用户未对您的应用进行身份验证,则不会返回此选项。
所以试着说一个FBLoginView,登录,看看是否返回了post_id。
答案 4 :(得分:0)
我注意到它只能在ios5上获得didComplete,如果你在ios6上测试它,那么可以获得“didComplete”和“completionGesture”。这可能是facebook SDK的错误。