我在Facebook SDK 3.8中发布新的Open Graph故事时遇到了一些问题。我有一个这种形式的故事:
为电影评分
这是我的代码的外观:
OpenGraphObject object = OpenGraphObject.Factory.createForPost("app_name:movie");
object.setProperty("title", "GadFather - Test");
object.setProperty("image", "http://www.example.com/image.jpg");
object.setProperty("url", "http://www.imdb.com/title/tt0068646/");
object.setProperty("description", "Test.. ");
OpenGraphAction action = GraphObject.Factory.create(OpenGraphAction.class);
action.setProperty("previewPropertyName", object);
FacebookDialog shareDialog = new FacebookDialog.OpenGraphActionDialogBuilder(this, action, "rate.movie").build();
我收到此错误:
04-30 23:49:43.594:E / ACRA(2161):com.app_name致命错误:在操作中找不到名为“rate.movie”的属性。预览属性的名称必须与动作属性的名称匹配。
我有什么问题吗?
由于
答案 0 :(得分:1)
有些事情我可以看到你做错了。
首先,OpenGraphActionDialogBuilder的第3个参数应该是preview属性的名称。这可能就像电影"或者" rate.movie"的任何对象;行动是。您不应该像操作那样在动作上明确设置它。
第二个是当你创建动作时,你还需要在它上面设置一个类型。您可以通过调用
显式执行此操作action.setType("rate.movie");
或使用内置助手
OpenGraphAction.Factory.createForPost()
以行为的类型作为参数。
最后,您需要在对象的操作上设置属性,如
action.setProperty("movie", object);
希望这些提示能够帮助您清理它:)