的Facebook的Android SDK无法确定开放的图形对象的类型:书

问题描述:

我正在升级我的Android应用到最新的Facebook SDK版本“V4” 的SDK是提供更好的编程模型的确的Facebook的Android SDK无法确定开放的图形对象的类型:书

而是试图分享时用乙醚新shareApi或ShareDialog 我收到此错误回调故事

无法确定开放的图形对象的类型:书

这是我的代码

private void shareStoryUsingDialog(Activity activity, STORY_TYPE type ,String title, Bitmap bitmap, String peerID, Uri imgURL) { 


    ShareOpenGraphAction action ; 
    ShareOpenGraphContent content = null; 
    ShareOpenGraphObject obj ; 

    final SharePhoto photo; 
    if(bitmap == null && imgURL != null){ 
     photo = new SharePhoto.Builder() 
     .setImageUrl(imgURL).build() ; 
    }else{ 
     photo = new SharePhoto.Builder().setBitmap(bitmap).build(); 
    } 

    switch (type) { 
    case WIN: 
     String objty = "og:type" ; 
     obj = new ShareOpenGraphObject.Builder() 
     .putString(objty, "books.book") 
     .putString("books:isbn", "0-553-57340-3") 
     .putString("og:title", "book title") 
     //.putPhotoArrayList("og:image", new ArrayList<SharePhoto>() {{add(photo);}}) 
     .build(); 

     action = new ShareOpenGraphAction.Builder() 
     .setActionType("books.reads") 
     .putObject("book", obj) 
     .build(); 

     content = new ShareOpenGraphContent.Builder() 
     .setPreviewPropertyName("book") 
     .setAction(action) 
     //.setPeopleIds(peers) 
     .build(); 

     break; 
    } 

    if(content != null){ 
     ShareDialog shareDiag = new ShareDialog(activity); 
     shareDiag.registerCallback(callbackManager, shareCallback); 
     if(ShareDialog.canShow(content.getClass())) 
      shareDiag.show(content); 
     //ShareDialog.show(activity, content); 
     //ShareApi.share(content, shareCallback); 
    } 
} 

我发现了一个不太好的workaaround 通过与该行

shareDiag.show(content, ShareDialog.Mode.WEB); 
+0

我已经实现,就像你在这个例子做了一个示例应用程序,并我根本没有得到那个错误。你能否确认问题依然存在?我使用了ShareApi或ShareDialog。 – derabbink 2015-04-07 13:45:33

+0

我仍然在这上面工作昨天我试了一样的确切代码,我测试之前,它的工作 好像新的SDK是FUUUlll的错误 cuz现在我无法将本地图像附加到graphStory即使示例应用程序失败有时 – MolhamStein 2015-04-07 13:53:55

+0

也许你可以添加在回调的问题获得了更多的信息。考虑添加完整的异常消息,堆栈跟踪和异常的原因(包括原因消息和堆栈跟踪)。 – derabbink 2015-04-07 13:57:10

这听起来愚蠢的购买有替换该行

shareDiag.show(content); 

是使用基于Web共享对话框 力你在Facebook应用程序仪表板中用这个确切的名称声明了确切的对象? ..我无法添加图片到一个开放的图形故事内容太..我已经报告这个错误,你可以在这里按照它:https://developers.facebook.com/bugs/1391075464548115

+0

是的,我做了 事件尝试了多个对象类型和下层工作 我发现一个workarround这是使用网络共享对话框使用 ,实际上我面临同样的问题添加一张照片的故事,sdk似乎很buggy – MolhamStein 2015-04-08 07:48:45

+0

是的,这的确是。请让我知道如果你解决这个问题。谢谢 ! – 2015-04-08 12:42:14

+0

如果您确信您遇到的SDK中的错误,请与Facebook发送错误报告一下:https://developers.facebook.com/bugs/当你提交一个bug,请务必包括所有Facebook工程师必须采取措施重现此问题。 – derabbink 2015-04-08 13:11:55