Facebook动作在发布时没有使用android指定任何引用对象

时间:2013-02-02 06:57:13

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

我的行动是“找到”。对象是:'情人'。但是在属性字段中,我的对象名称是'Reference'类型的'valentine_'。

现在,我正在尝试使用ANDROID发布'find'操作,它会显示错误消息: “您尝试发布的操作无效,因为它未指定任何引用对象。必须至少指定以下属性之一:valentine_”

我的代码:

private interface ValentineGraphObject extends GraphObject{
        public String getUrl();
        public void setUrl(String url);

         public String getId();
        public void setId(String id);
    }





    private interface FindAction extends OpenGraphAction{
        // The valentine object 
        public ValentineGraphObject getValentine();
        public void setValentine(ValentineGraphObject valentine_);
    }





    protected void populateOGAction(OpenGraphAction action) {
        FindAction findaction = action.cast(FindAction.class);
        ValentineGraphObject valentine_ =GraphObject.Factory.create(ValentineGraphObject.class);
        valentine_.setUrl("http://milliondollarsapps.com/Kunal/valen.html");
        findaction.setValentine(valentine_);
    }

有些人可以帮我解决这个问题。 快速帮助将不胜感激。 感谢

1 个答案:

答案 0 :(得分:1)

这里的问题是你的FindAction接口上的属性(setValentine,并被转换为“valentine”)不匹配,以及你的OG动作中的属性(“valentine _”)。

有两种方法可以解决这个问题:

一个。而不是使用findaction.setValentine(...)做:

findaction.setProperty("valentine_", valentine_); 

湾在setValentine方法上使用PropertyName注释:

private interface FindAction extends OpenGraphAction{
    // The valentine object 
    public ValentineGraphObject getValentine();
    @PropertyName("valentine_")
    public void setValentine(ValentineGraphObject valentine_);
}