0
繼此tutorial後,我試圖在Android應用程序中使用Facebook SDK 4.0實現OpenGraph故事。
我已經閱讀了很多Facebook文檔,並理解(理論上)OpenGraph故事應該如何工作。但是主要的問題是,我無法在SDK 4.0中實現它,因爲教程和文檔中的所有代碼示例都被引用到舊SDK的方法中。我所有的努力使其工作(改變行動,對象)失敗。Facebook OpenGraph Android的Facebook SDK 4.0中的故事
這裏是我的代碼(根據documentation ):
// Create an object
ShareOpenGraphObject object = new ShareOpenGraphObject.Builder()
.putString("og:type", "books.book")
.putString("og:title", "A Game of Thrones")
.putString("og:description", "In the frozen wastes to the north of Winterfell, sinister and supernatural forces are mustering.")
.putString("books:isbn", "0-553-57340-3")
.build();
// Create an action
ShareOpenGraphAction action = new ShareOpenGraphAction.Builder()
.setActionType("books.reads")
.putObject("books:book", object)
.build();
// Create the content
ShareOpenGraphContent content = new ShareOpenGraphContent.Builder()
.setPreviewPropertyName("books:book")
.setAction(action)
.build();
ShareButton shareButton = (ShareButton)findViewById(R.id.shareButton);
shareButton.setShareContent(content);
shareButton.registerCallback(callbackManager, new FacebookCallback<Sharer.Result>() {
@Override
public void onSuccess(Result result) {
Log.i(TAG, "SHARING SUCCESS!");
}
@Override
public void onError(FacebookException error) {
Log.e(TAG, "SHARING ERROR! - " + error.getMessage());
}
@Override
public void onCancel() {
Log.w(TAG, "SHARING CANCEL!");
}
});
什麼我得到(用我所有的嘗試):
行動至少需要一個參考:您嘗試 發佈的操作無效,因爲它沒有指定任何參考對象。 至少必須指定以下屬性之一:book。
請,你能解釋一下,如何使用SDK 4.0的方法來糾正FB SDK 4.0使用OpenGraph,並正確使用Objects
與Actions
。
謝謝,它的工作原理應該如此。請同時更新此[頁面](https://developers.facebook.com/docs/sharing/android#open_graph)。 – VadymVL
但現在有混淆,你應該在哪裏使用命名空間,哪裏不是。 我正在嘗試在練習冊報價上實施。 'ShareOpenGraphAction action = new ShareOpenGraphAction.Builder() .setActionType(「books.quotes」) .putString(「body」,「To be,or not to be ...」) .putObject(「book」,對象) .build();'我應該只使用「body」還是「quotes:body」或「books:quotes:body」?有了這段代碼,我可以成功地分享這本書,但報價並未附上。 – VadymVL
@Ming Li「book」旁邊的setPreviewPropertyName(...)使用了哪些類型? –