共享对话框返回异常,“无法为用户Facebook生成预览”

时间:2013-08-23 11:25:02

标签: android facebook-graph-api android-facebook

我已切换到使用最新更新的Facebook SDK for Android。

当我尝试使用新的Share Dialog时,上面的消息是在FacebookException类中给出的。

出现这种情况的原因是什么?

这是我正在使用的代码。

OpenGraphAction action = GraphObject.Factory.create(OpenGraphAction.class);
            action.setProperty("object", "http://object.url");

FacebookDialog shareDialog = new FacebookDialog.OpenGraphActionDialogBuilder(this, action, "appnamespace.action", "object")
                    .build();
uiHelper.trackPendingDialogCall(shareDialog.present());

2 个答案:

答案 0 :(得分:4)

经过几个小时的反复试验,我终于弄明白了。希望它更简单。 Facebook应该提供代码生成器。

无论如何,我的问题的解决方案是动作词必须匹配facebook完美设置的那个。看到这个的唯一方法是在类型的开放图形代码生成器上。

https://developers.facebook.com/apps/ {应用ID} / opengraph /类型

您可以在动作类型部分的上述链接中找到它。

现在,获取facebook提供的命名空间和操作类型,并将其替换为下面的“appnamespace:action”。

OpenGraphAction action = GraphObject.Factory.create(OpenGraphAction.class);
        action.setProperty("object", "http://object.url");

FacebookDialog shareDialog = new FacebookDialog.OpenGraphActionDialogBuilder(this, action, "appnamespace.action", "object")
                .build();
uiHelper.trackPendingDialogCall(shareDialog.present());

答案 1 :(得分:0)

我认为该问题与previewPropertyName构造函数中的“OpenGraphActionDialogBuilder”字段有关。

new FacebookDialog.OpenGraphActionDialogBuilder(Activity activity, OpenGraphAction action, String previewPropertyName)

这必须与指向OpenGraphObject本身的操作中的属性名称匹配。示例

action.setProperty("previewPropertyName", openGraphObject);