我的任务是根据测验中的用户选择创建动态共享图像对话框。此后,用户可以将他们的共享图像结果发布到他们自己的时间线上。我已经准备好并将推荐的1200x630格式的所有可能的图像结果组合上传到实时服务器,以便稍后通过绝对链接获取相应的共享图像。共享对话框必须使用全宽布局。在我的场景中,缩略图布局是不可取的。
我选择的工具是JS SDK。我正在使用share_open_graph方法进行手动登录/共享流程。我已经相应地在Facebook App中创建了一个自定义故事[分享测验],动作[分享]和对象[测验],以及获得成功的评审批准。以下是用户点击分享按钮时调用的代码段:
FB.ui({
method: 'share_open_graph',
action_type: '{APPNAMESPACE}:share',
action_properties: JSON.stringify({
'quiz': {
'og:type': '{APPNAMESPACE}:quiz',
'og:url': ''+QUIZ_URI+'',
'og:title': '{MY TITLE HERE}',
'og:description': ''+msgStr+'',
'og:image': '{ABSOLUTE LINK HERE}'+imgStr+'.png?v=2',
'og:image:type': 'image/png',
'og:image:width': '1200',
'og:image:height': '630'
}
})
});
问题:共享对话框倾向于显示某些用户的缩略图版本,而其他用户则显示全宽1200x630版本。将缩略图/全宽布局分配给共享对话框的决定似乎是任意的,但仅对该特定用户是永久性的。在时间轴上发布共享链接后,布局仍然适应在共享对话阶段分配的任何布局。
附加图像是使用相同代码向2个不同用户显示共享对话框的方式。此问题可以与2个特定用户一起复制。这不是一个孤立的事件,因为有其他用户获得缩略图布局,即使我的图像准备在1200x630。 (我意识到我不能在这里发布图像,因为我刚刚注册了stackoverflow ...)
我已尝试在上面的代码片段中分别传递1200宽度和630高度的其他属性,但无济于事。我还尝试手动将og:image:width,og:image:height元标记放入head标记,然后使用Facebook调试工具进行强制删除。这也行不通。
请告知,任何帮助将不胜感激。