2013-02-02 30 views
0

我的動作是'find'。對象是:'情人節'。但在屬性字段中,我的對象名稱是'Reference'類型的'valentine_'。Facebook動作沒有在發佈時使用android指定任何引用對象

現在,我嘗試使用ANDROID發佈「查找」操作,該操作給出錯誤消息: 「您嘗試發佈的操作無效,因爲它沒有指定任何引用對象,至少必須滿足以下一個屬性指定: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_); 
    } 

能有些幫助我在此。 快速幫助,將不勝感激。 謝謝

+0

沒有人知道這個問題的答案嗎? –

回答

1

這裏的問題是你的FindAction接口的屬性(這是setValentine,並被翻譯成只是「情人」)和你的OG行爲(這是「valentine_」)中的屬性不匹配。

有兩種方法來解決這個問題:

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

findaction.setProperty("valentine_", valentine_); 

b。在你的setValentine方法上使用PropertyName註釋:

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

謝謝李明你的迴應。我嘗試了第二種方法,但它仍然顯示相同的錯誤。對於第一種方法,我得到了Facebookgraphobjectaction。我設置了:findaction.setProperty(String s,ValentineGraphObject valentine_); –

+0

請提供您的意見。謝謝 –

+0

對於我得到的第一個:FacebookgraphobjectactionException:工廠無法代理方法findaction.setProperty(String s,ValentineGraphObject valentine_); –

相關問題