我已切换到使用最新更新的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());
答案 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);