我想使用Facebook SendDialog将图片发送给我的朋友。 我的应用程序上有很多图片,如果用户选择一张图片,我的应用程序将创建一个HTML, 并将HTML配合标记更新为:
<meta property="fb:app_id" content="1234567890" />
<meta property="og:type" content="momantest:picture" />
<meta property="og:url" content="myhostdomain.com" />
<meta property="og:title" content="Mytitle" />
<meta property="og:description" content="BlahBlah123!" />
<meta property="og:image" content="The picture use just selected" />
并保存此HTML,名为test1.html并将其上传到我的服务器。
我使用JSSDK:
FB.ui({
method:'send',
link : 'https://myhostdomail.com/test1.html'
});
SendDialog无法显示预览图片!!!!!
但如果test1.html在五分钟前创建,然后我使用senddialog ..预览图片显示...
所以,问题是,如果我创建一个HTML只需几秒钟并使用SendDialog,则预览图片无法显示,但如果HTML已经创建了5分钟,并使用SendDialog,预览图片显示...... < / p>
为什么?这是一个错误吗?
在几秒钟之前创建HTML时,SendDialog是否可以显示预览图片!
哦,对了,我还用对象debbug工具检查网址,它回复了206,标题,解密和图片,都很好..但是发送对话框只是无法显示预览图片
任何答案都将不胜感激。感谢!!!!!
答案 0 :(得分:1)
如果您每次有人想要发送图像时都要覆盖Meta标签,那么当首次共享链接时,Facebook会缓存元数据,这将无法正常工作。
您需要做的是为每个共享使用唯一的网址,以便数据保持完整且对该共享而言是唯一的。例如:
User 1
想要分享image1.jpg
。然后创建share1.html
并为此共享添加适当的元数据。
然后,当User 1
想要分享image2.jpg
时。您使用新的元数据创建share2.html
,然后分享此内容。
如果User 2
想要分享image1.jpg
,您可以重复使用share1.html
,因为元数据会相同。