我試圖在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