Facebook iOS - 无法在Share Dialog上发布OpenGraph

时间:2014-10-09 19:11:00

标签: ios facebook facebook-ios-sdk

在下面的代码中,当我尝试通过“共享”对话框共享OG故事时,当我进入共享对话框时,“发布”按钮未启用(即使在我输入文本后)。 我在FB应用程序中出现了“出了问题...”,但现在我根本没有它

这篇文章的其余部分似乎没问题 另一件重要事情: 几乎是此代码的类似变体,但用户生成的照片效果很好,但这里的照片是一个URL而不是user_generated

代码:

NSString *FacebookAppNamespace = @"my_fb_namespace";

id<FBGraphObject> object = [FBGraphObject openGraphObjectForPost];
FBOpenGraphActionParams  *params = [[FBOpenGraphActionParams  alloc] init];
id<FBOpenGraphAction> action = (id<FBOpenGraphAction>)[FBGraphObject graphObject];
NSString *previewPropertyName;
        url = [NSString stringWithFormat:@"%@/facebook.html?al_applink_data=type%%3Drecipe%%26id%%3D%@",APPLINKS_LINK,self.recipeID];
        name = self.recipeTitle;
        image = self.recipeImage;
        description = self.recipeTitle;


    object[@"title"] = name;
    object[@"type"] = [NSString stringWithFormat:@"%@:recipe",FacebookAppNamespace];
    object[@"description"] = description;
    object[@"image"] = @[@{@"url": image}]; //NOTE: tried a lot of variants here, thinking this is the cause
    object[@"url"] = url;

    [action setObject:object forKey:@"recipe"];
    params.action = action;
    params.actionType = [NSString stringWithFormat:@"%@:cook",FacebookAppNamespace];

    previewPropertyName = @"recipe";
    if([FBDialogs canPresentShareDialogWithOpenGraphActionParams:params]) {
        [FBDialogs presentShareDialogWithOpenGraphAction:action
                                          actionType:params.actionType
                                 previewPropertyName:previewPropertyName
                                             handler:dialogAppErrorHandler];

}

2 个答案:

答案 0 :(得分:0)

Facebook确认这确实是SDK 3.19中的一个错误。 实际上深入挖掘说这是Facebook应用程序15.0中的一个错误,因此无需更改SDK

答案 1 :(得分:0)

我得到一个类似的行为(它允许我发布,但后来我得到“哎呀,出了点问题”。

不知何故,当我在分享对话框中标记了一个朋友时,突然整个故事出现(二对一),然后发布/分享工作!

试试吧!

(我仍然不知道如何在没有它的情况下使其工作:(所以它仍然是不可接受的)