我试图在Android上创建一个使用Facebook SDK /应用程序中的Native Share对话框的基本演示。然而,当我尝试用动作“og.likes”创建一个故事并使用我的自定义对象时,它被Facebook创建为基本的“对象”类型,而不是我定义的自定义类型。所以不是说“Johnny喜欢一个git仓库”,而是说它“Johnny喜欢一个物体”。Facebook Open Graph - 标准动作og.likes与自定义对象类型
这里是我使用的代码:
public void shareOpenGraphStory(Intent intent) {
OpenGraphObject obj = OpenGraphObject.Factory.createForPost("qtino-sharing:git_repo");
obj.setType("qtino-sharing:git_repo");
obj.setTitle("Testing OpenGraph Share");
Log.w("FBShareActivity", "Object type is " + obj.getType());
OpenGraphAction action = GraphObject.Factory.create(OpenGraphAction.class);
action.setType("og.likes");
action.setProperty("object", obj);
FacebookDialog shareDialog = new FacebookDialog.OpenGraphActionDialogBuilder(mainActivity, action, "og.likes", "object")
.setFragment(this)
.build();
uiHelper.trackPendingDialogCall(shareDialog.present());
}
我敢肯定,我在正确的Facebook开发中心定义我的自定义对象的类型,我可以使用这种类型的成功分享的Open Graph的故事我还定义了一个自定义操作。
这个对象的类型被正确设置,如获得打印的日志语句所证实的那样,以及没有错误的开放图故事帖子(我可以在我的脸谱墙上看到它)。然而,在对象浏览器中,对象的og:类型显示“object”而不是“git_repo”,并且经过几个小时的文档和淘洗后,我仍然无法弄清楚原因。
任何人都可以看到我做错了什么吗?或者,您是否知道在通过本机共享对话框共享时,甚至可以将派生对象类型与'og.likes'操作类型一起使用。
+1,这已经真正困扰我。任何人都有答案? – Matt 2014-10-09 07:03:24