使用FB.ui将Canvas发送到Facebook帖子

时间:2014-04-01 18:13:31

标签: javascript facebook facebook-graph-api canvas

我使用facebook UI将我网页上生成的内容分享到Facebook页面。我想要分享的内容是Canvas,它会随着用户交互而动态变化。

所以我可以使用下一个代码轻松地在Image中转换此Canvas:

var canvas = document.getElementById("canvas_current_athlete");
var image = canvas.toDataURL("image/png")

事情是,似乎facebook UI不允许您发送数据或八位字节流,但只允许发送图片的静态URL。如示例所示:

FB.ui({
method: 'feed',
name: 'Facebook Dialogs',
link: 'https://developers.facebook.com/docs/dialogs/',
picture: 'http://fbrell.com/f8.jpg',
caption: 'Reference Documentation',
description: 'Dialogs provide a simple, consistent interface for applications to interface with users.'},

我可以使用以下代码下载图片:

var canvas = document.getElementById("canvas_current_athlete");
var image = canvas.toDataURL("image/png").replace("image/png", "image/octet-stream");              
window.location.href = image;

但当然这是在客户端下载它,我需要在服务器中使用静态URL为facebook UI提供该图片。

有没有办法将图像作为数据发送到Facebook帖子使用faceobok UI或其他易于分享画布到Facebook的东西?

提前致谢, luchux。

1 个答案:

答案 0 :(得分:0)

使用Feed / Feed对话框 - 。您只能将picture添加为链接。

我不确定feed在您的情况下是否更相关,但如果您可以使用/photos,则可以使用图像数据上传图片。但当然不会发布Feed,而是会将照片添加到您的相册和故事中:"用户添加了一张新照片"将在墙上发表。

但如果您的动机是发布Feed,则无法使用图片数据;你必须有一个图片网址。另一个技巧 - 您可以先将照片添加到Facebook,然后在您的Feed中使用该图像。

希望它有所帮助。祝你好运!