提问者:小点点

Facebook iOS SDK错误–发布Open Graph操作


我试图将一个带有动作(使用故事)的打开图形对象发布到Facebook,但我总是收到一个没有给我任何细节的错误。我将我使用的所有代码总结为一个方法,供你们使用:

- (void)publishToGraph {
    NSMutableDictionary<FBOpenGraphObject> *object = [FBGraphObject openGraphObjectForPost];
    object.provisionedForPost = YES;
    object[@"title"] = @"Example title";
    object[@"type"] = @"rs-coupcash";
    object[@"description"] = @"Example description";
    object[@"url"] = @"http://exampleurl.com/idk";
    object[@"image"] = @[@{@"url": @"http://exampleurl.com/example_url.png", @"user_generated" : @"true" }];

    [FBSession openActiveSessionWithPublishPermissions:@[@"email", @"public_profile", @"publish_actions"] defaultAudience:FBSessionDefaultAudienceFriends allowLoginUI:YES completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {

        if (!error && state == FBSessionStateOpen) {
            [FBRequestConnection startForPostOpenGraphObject:object completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {

                if(!error) {
                    NSString *objectId = [result objectForKey:@"id"];
                    NSLog(@"Object ID: %@", objectId);
                    id<FBOpenGraphAction> actionObject = (id<FBOpenGraphAction>)[FBGraphObject graphObject];
                    [actionObject setObject:objectId forKey:@"coupon"];
                    [FBRequestConnection startForPostWithGraphPath:@"/me/rs-coupcash:favorite" graphObject:actionObject completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {

                        [[FBSession activeSession] close];
                        if(!error) {
                            NSLog(@"OG story posted, story ID: %@", [result objectForKey:@"id"]);
                        } else {
                            NSLog(@"Error: %@", error);
                        }
                    }];
                } else {
                    NSLog(@"Error: %@", error);
                }
            }];
        } else {
            NSLog(@"Error: %@", error);
        }
    }];
}

我得到的错误:

error Domain = com . Facebook . SDK Code = 5 "操作无法完成。(com.facebook.sdk错误5。)" UserInfo = 0x 114544670 { com . Facebook . SDK:HTTPStatusCode = 500,com . Facebook . SDK:ErrorSessionKey =,expiration date:2014-08-26 05:18:45 0000,refresh date:2014-06-27 16:56:32 0000,attemptedRefreshDate:001-12-30 00:00:00 0000


共1个答案

匿名用户

我对打开的图形对象使用了错误的类型;我只使用了“type”值的名称空间,在本例中应该是“rs-coupcash:coupon”。