2015-02-24 48 views
0

我在我的Facebook应用程序上为我的Facebook开发者设置了自定义故事,我想与Android Facebook SDK分享故事。随着应用程序的调试版本一切工作正常,但是当我用我的释放键签署它的预览只显示我的网站标题和Facebook应用程序图像,而不是“对象”标题和图像。 这是我的代码:Android - Facebook自定义故事图片不显示

OpenGraphAction action = GraphObject.Factory.create(OpenGraphAction.class);

 OpenGraphObject ogobj = OpenGraphObject.Factory.createForPost("item"); 
     ogobj.setProperty("title", fb_data.getTitle()); 
     ogobj.setProperty("image", obj.getPhotos().get(0)); 

     ogobj.setProperty("description", fb_data.getDesc()); 
     ogobj.setProperty("url", fb_data.getUrl()); 

     List<Bitmap> shareImages = new ArrayList<Bitmap>(); 
     shareImages.add(arg0); 

     action.setType("myapp:share"); 
     action.setProperty("item", ogobj); 

     FacebookDialog shareDialog = new FacebookDialog.OpenGraphActionDialogBuilder(Act_object.this, action, "item") 
     .build(); 

     uiHelper.trackPendingDialogCall(shareDialog.present()); 

动作“分享”已被Facebook批准。 如果我不设置“链接”属性对话框(在签署APK)doesen't秀的logcat给了我这样的:

02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): com.facebook.http.protocol.ApiException: [code] 100 [message]: (#100) conflicting og:type found in path (myapp:item) and 'properties' (item) [extra]: 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at com.facebook.http.protocol.ApiResponseChecker.b(ApiResponseChecker.java:104) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at com.facebook.http.protocol.ApiResponseChecker.a(ApiResponseChecker.java:137) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at com.facebook.http.protocol.ApiResponseChecker.a(ApiResponseChecker.java:234) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at com.facebook.http.protocol.ApiResponseChecker.a(ApiResponseChecker.java:185) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at com.facebook.http.protocol.JsonResponseHandler.a(JsonResponseHandler.java:34) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at com.facebook.http.protocol.ApiResponseHandler.b(ApiResponseHandler.java:91) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at com.facebook.http.protocol.ApiResponseHandler.a(ApiResponseHandler.java:54) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at com.facebook.http.protocol.ApiResponseHandler.handleResponse(ApiResponseHandler.java:29) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at com.facebook.http.common.FbHttpRequestProcessor.a(FbHttpRequestProcessor.java:738) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at com.facebook.http.common.FbHttpRequestProcessor.a(FbHttpRequestProcessor.java:214) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at com.facebook.http.common.FbHttpRequestProcessor.a(FbHttpRequestProcessor.java:167) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at com.facebook.http.common.FbHttpRequestProcessor.a(FbHttpRequestProcessor.java:323) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at com.facebook.http.protocol.SingleMethodRunnerImpl.a(SingleMethodRunnerImpl.java:550) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at com.facebook.http.protocol.SingleMethodRunnerImpl.b(SingleMethodRunnerImpl.java:257) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at com.facebook.http.protocol.AbstractSingleMethodRunner.a(AbstractSingleMethodRunner.java:20) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at com.facebook.platform.common.server.SimplePlatformOperation.a(SimplePlatformOperation.java:39) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at com.facebook.platform.common.server.PlatformOperationHandler.a(PlatformOperationHandler.java:59) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at com.facebook.fbservice.service.BlueServiceQueue.e(BlueServiceQueue.java:376) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at com.facebook.fbservice.service.BlueServiceQueue.d(BlueServiceQueue.java:62) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at com.facebook.fbservice.service.BlueServiceQueue$3.run(BlueServiceQueue.java:293) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at java.util.concurrent.FutureTask.run(FutureTask.java:237) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at com.facebook.common.executors.ListenableScheduledFutureImpl.run(ListenableScheduledFutureImpl.java:60) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at android.os.Handler.handleCallback(Handler.java:739) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at android.os.Handler.dispatchMessage(Handler.java:95) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at android.os.Looper.loop(Looper.java:135) 
02-24 16:29:21.129: W/fb4a(:<default>):BlueServiceQueue(9229): at android.os.HandlerThread.run(HandlerThread.java:61) 

不能真正理解我做的不对... 在此先感谢

编辑: 这是我的新代码,现在我可以把图像上我的故事

 OpenGraphAction action = GraphObject.Factory.create(OpenGraphAction.class); 

     OpenGraphObject ogobj = OpenGraphObject.Factory.createForPost("myapp:item"); 

     ogobj.setTitle(fb_data.getTitle()); 
     ogobj.setProperty("name", fb_data.getTitle()); 
     ogobj.setImageUrls(Arrays.asList(obj.getPhotos().get(0))); 
     ogobj.setUrl(fb_data.getUrl()); 
     ogobj.setProperty("user_generated", "true"); 

     List<Bitmap> shareImages = new ArrayList<Bitmap>(); 
     shareImages.add(arg0); 

     action.setType("myapp:share");   
     action.setProperty("name", fb_data.getTitle()); 
     action.setProperty("title", fb_data.getTitle()); 
     action.setProperty("image", obj.getPhotos().get(0)); 
     action.setProperty("item", ogobj); 

     FacebookDialog shareDialog = new FacebookDialog.OpenGraphActionDialogBuilder(Act_object.this, action, "item") 
     .build(); 

     uiHelper.trackPendingDialogCall(shareDialog.present()); 

这是我所看到的与签署的APK: enter image description here

相反,它应该是这样的(这是与调试应用程序会发生什么)

enter image description here

Prova3是名fb_data.getTitle()和图像是obj.getPhotos()得到( 0)

回答

0

我想你想

OpenGraphObject ogobj = OpenGraphObject.Factory.createForPost("myapp:item"); 

否则,你的行为正在寻找类型的对象:在“项目”属性“MYAPP项目”,但你只是给它一个OBJE “item”类型的ct。

+0

不,它没有工作,它仍然无法显示我试图放置的标题 – DLock 2015-02-25 08:34:27

+0

您可以发布您所看到的屏幕截图吗? – 2015-02-26 18:35:44

+0

我更新了我的问题并添加了一些图片(针对隐私进行了修改) – DLock 2015-02-27 15:51:18