【问题标题】:Posting a custom story to the graph API using Facebook iOS SDK 3.5使用 Facebook iOS SDK 3.5 将自定义故事发布到图形 API
【发布时间】:2013-06-16 17:21:03
【问题描述】:

在 iOS Facebook SDK 3.5 中,据说有一种方法可以使用开放图形 API 创建新故事,而无需后端服务器。

Facebook.com 上的文档/教程仅展示了如何使用后端服务器完成此操作,而互联网上似乎没有关于如何操作的有效代码。

我已经设法根据小sn-ps的代码组合了以下代码,但它不起作用:

NSMutableDictionary<FBOpenGraphObject> *event = [FBGraphObject openGraphObjectForPost];
            event[@"type"] = @"leaf-events:event";
            event[@"title"] = @"Adam's Birthday";

            NSMutableDictionary<FBGraphObject> *action = [FBGraphObject openGraphActionForPost];
            action[@"event"] = event;

            [FBRequestConnection startForPostWithGraphPath:@"me/leaf-events:create"
                                               graphObject:action
                                         completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
                                             NSLog(@"Result: %@", result);
                                             NSLog(@"Error: %@", error.userInfo);
                                         }];

这段代码崩溃并告诉我:

2013-06-19 19:40:01.451 Events[1150:60b] Error: {
"com.facebook.sdk:ErrorSessionKey" = "<FBSession: 0x1650fe80, state: FBSessionStateOpen, loginHandler: 0x1651dc20, appID: 474218799329968, urlSchemeSuffix: , tokenCachingStrategy:<FBSessionTokenCachingStrategy: 0x16549810>, expirationDate: 4001-01-01 00:00:00 +0000, refreshDate: 2013-06-19 18:39:57 +0000, attemptedRefreshDate: 0001-12-30 00:00:00 +0000, permissions:(\n    \"basic_info\"\n)>";
"com.facebook.sdk:HTTPStatusCode" = 400;
"com.facebook.sdk:ParsedJSONResponseKey" =     {
    body =         {
        error =             {
            code = 3503;
            message = "(#3503) \"{\"type\":\"leaf-events:event\",\"data\":{},\"title\":\"Adam's Birthday\",\"fbsdk:create_object\":true}\" is an invalid value for property \"event\" with type \"Reference\"";
            type = OAuthException;
        };
    };
    code = 400;
};
}

任何人都可以帮助我并提供有关如何完成这个看似简单的任务的示例代码,我已经坚持了 2 天了!

【问题讨论】:

    标签: ios objective-c facebook facebook-opengraph facebook-ios-sdk


    【解决方案1】:

    我看到这是一个老问题 - 但仍然没有好的答案 - 所以我希望能帮助 smb。 创建对象:

    - (NSDictionary *)sharingDictionaryForXXX {
    
       return @{
        @"type" : @"app_namespace:object_name",
        @"fbsdk:create_object" : @YES,
        @"title" : "title text",
        @"url" : @"link to your site configured in app dashboard",
        @"image" : @"https://fbstatic-a.akamaihd.net/images/devsite/attachment_blank.png",
        @"description" : "your description",
       };
    }
    

    分享:

      id<FBOpenGraphAction> action = [FBGraphObject openGraphActionForPost];
      action[@"object_name"] = [self sharingDictionaryForXXX];
      FBOpenGraphActionShareDialogParams * params = [[FBOpenGraphActionShareDialogParams alloc] init];
      params.actionType = @"app_namespace:action_name";
      params.action = action;
      params.previewPropertyName = @"object_name";
    
      // Show the Share dialog if available
      if ([FBDialogs canPresentShareDialogWithOpenGraphActionParams:params]) {
         [FBDialogs presentShareDialogWithOpenGraphAction:[params action]
                                               actionType:[params actionType]
                                      previewPropertyName:[params previewPropertyName]
                                                  handler:^(FBAppCall * call, NSDictionary * results, NSError * error) {
                                                     if (error) {
                                                        NSLog(@"Error: %@", error);
                                                     } else {
                                                        NSLog(@"Success!");
                                                     }
                                                  }];
      } else {
         // If the Facebook app isn't available, show the Feed dialog as a fallback
         [self presentWebBasedSharing];
      }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-01
      • 2013-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多