如何在Objective c中使用FBWebDialogs发送请求

时间:2013-08-13 06:20:30

标签: ios objective-c facebook facebook-graph-api facebook-ios-sdk

我正在创建一个游戏,用户可以使用FBdialogs向他的朋友发送请求。 我正在使用以下代码。

    NSError *error;
    NSData *jsonData = [NSJSONSerialization
                        dataWithJSONObject:@{
                        @"social_karma": @"5",
                        @"badge_of_awesomeness": @"1"}
                        options:0
                        error:&error];
    if (!jsonData) {
        NSLog(@"JSON error: %@", error);
        return;
    }

    NSString *giftStr = [[NSString alloc]
                         initWithData:jsonData
                         encoding:NSUTF8StringEncoding];

    NSMutableDictionary* params = [@{@"data" : giftStr} mutableCopy];


    // Display the requests dialog
    [FBWebDialogs
     presentRequestsDialogModallyWithSession:nil
     message:@"Learn how to make your iOS apps social."
     title:nil
     parameters:params
     handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error) {
         if (error) {
             // Error launching the dialog or sending the request.
             NSLog(@"Error sending request.");
         } else {
             if (result == FBWebDialogResultDialogNotCompleted) {
                 // User clicked the "x" icon
                 NSLog(@"User canceled request.");
             } else {
                 // Handle the send request callback
                 NSDictionary *urlParams = [self parseURLParams:[resultURL query]];
                 if (![urlParams valueForKey:@"request"]) {
                     // User clicked the Cancel button
                     NSLog(@"User canceled request.");
                 } else {
                     // User clicked the Send button
                     NSString *requestID = [urlParams valueForKey:@"request"];
                     NSLog(@"Request ID: %@", requestID);
                 }
             }
         }
     }];

此代码正在成功向所选用户发送请求,并显示请求ID。 但是当我检查朋友更新时。它的更新中没有显示任何请求。

任何人都可以告诉我这段代码有什么问题吗? 或者是否应该向朋友发送任何其他方法?

1 个答案:

答案 0 :(得分:2)

请检查 -

  1. 应用设置

    您可能忘记将iOS应用的设置放入App Dashboard中的应用设置

  2. 沙盒模式

    确保应用设置中的sandbox模式为关闭。