在 Android 中创建 Facebook 故事,获取无法生成预览错误

Creating Facebook story in Android, getting can't generate preview error

我正在尝试在我的 android 应用程序中创建一个 Facebook 故事。目前,该应用程序尝试打开 Facebook 片刻,然后停止并返回该应用程序 ui。我的堆栈记录了一个 Facebook 错误 "can't generate preview"。

相关代码如下:

OpenGraphObject whiskeyCheckin = OpenGraphObject.Factory.createForPost("whiskeynation:whiskey");
    whiskeyCheckin.setProperty("type", "whiskeynation:whiskey");
    whiskeyCheckin.setProperty("title", whiskeyName);
    whiskeyCheckin.setProperty("description", whiskeyCheckinCaption + whiseyCheckinDescription);
OpenGraphAction action = OpenGraphAction.Factory.createForPost("whiskeynation:rate_a_whiskey");
    action.setProperty("whiskey", whiskey);
    action.setType("whiskeynation:rate_a_whiskey");
FacebookDialog graphBuilder = new FacebookDialog.OpenGraphActionDialogBuilder(this, action, "whiskey")
            .build();
uiHelper.trackPendingDialogCall(graphBuilder.present());

对于故事(在 FB 仪表板中设置)"whiskeynation" 是命名空间,"rate_a_whiskey" 是名称 story/action 名称,"whiskey" 是对象名称.

有什么建议吗?

您似乎没有使用 OpenGraphObject whiskeyCheckin。

来自文档: https://developers.facebook.com/docs/reference/android/current/class/FacebookDialog.OpenGraphActionDialogBuilder/

OpenGraphActionDialogBu​​ilder 构造函数的最后一个参数 previewPropertyName 必须引用包含 Open Graph 对象的 属性:

previewPropertyName:属性 在包含将作为预览显示给用户的 Open Graph 对象的 Open Graph 操作的名称

这可能是您想要的:

替换为:

action.setProperty("whiskey", whiskey);

...有了这个,它引用了您的 OpenGraphObject:

action.setProperty("whiskey", whiskeyCheckin);