2017-07-07 57 views
0

我试图让Facebook的OpenGraph movie.rates动作类型工作,但迄今为止没有成功,希望有经验的人可以指出我在正确的方向。Facebook的OpenGraph movie.rates不工作

基本上我想分享他们的时间线上的用户电影评论。我一直在搞乱下面的代码,它创建了对话框,但不会发布到时间轴上。

我已经尝试添加评分值,评分等级,玩过多种对象类型,但无法得到它。

我的代码:

ShareOpenGraphObject object = new ShareOpenGraphObject.Builder() 
      .putString("og:type", "video") 
      .putString("og:title", "some movie name") 
      .putString("og:description", "test") 
      .putString("og:image", imageUrl) 
      .build(); 

    ShareOpenGraphAction action = new ShareOpenGraphAction.Builder() 
      .setActionType("video.rates") 
      .putObject("video", object) 
      .build(); 

    ShareOpenGraphContent content = new ShareOpenGraphContent.Builder() 
      .setPreviewPropertyName("video") 
      .setAction(action) 
      .build(); 

    ShareDialog shareDialog = new ShareDialog(this); 
    shareDialog.show(this, content); 
+0

检查您的活动日志 - 如果它显示在那里,一切都很顺利。并非所有事情都会在时间表上显示。 – CBroe

+0

检查活动日志,没有什么。该回调返回0(应为-1),并显示错误消息“未知错误”(非常有用!)。 – ScottishUser

回答

0

OK得到这个工作与下面的代码。这将根据需要启动video.rates开放式对话框:

ShareOpenGraphObject object = new ShareOpenGraphObject.Builder() 
      .putString("og:type", "video.other") 
      .putString("og:title", titleText) 
      .putString("og:image", imageUrl) 
      .putString("og:description", "Some description") 
      .build(); 

    ShareOpenGraphAction action = new ShareOpenGraphAction.Builder() 
      .setActionType("video.rates") 
      .putDouble("rating:value", 5.0f) 
      .putInt("rating:scale", 10) 
      .putString("review_text", reviewText) 
      .putObject("other", object) 
      .build(); 

    ShareOpenGraphContent content = new ShareOpenGraphContent.Builder() 
      .setPreviewPropertyName("other") 
      .setAction(action) 
      .build(); 

    ShareDialog shareDialog = new ShareDialog(this); 
    shareDialog.show(this, content);