PHP:如何将在facebook app中创建的照片上传到用户墙

时间:2013-03-10 18:36:46

标签: php facebook facebook-graph-api

我有一个Facebook应用程序,用户可以为他们的图像提供类似Instagram的效果。     http://instakilo.herokuapp.com/
当添加图像过滤器时,下方链接将显示在底部,当点击该链接时,创建该编辑图像的源并将其添加到下载链接的“href”属性,并下载图像。现在我想要而不是下载图像,我想用一些标题将该图像发布到用户墙上。

我搜索了一些教程,但是他们正在显示通过HTML表单上传图片,用户从他们的硬盘驱动器中选择图像并发布它,但在这里我有javascript变量的图像源。正如您在script.js文件中的应用程序中看到的那样,脚本末尾的以下代码

function showDownload(canvas){


    downloadImage.off('click').click(function(){

        // When the download link is clicked, get the
        // DataURL of the image and set it as href:

        var url = canvas.toDataURL("image/png;base64;");
        downloadImage.attr('href', url);
        $.ajax({

                        type: "POST",
                        url: "http://instakilo.herokuapp.com/process.php",
                        data: {'data':url},
                        success: function(){alert('Posted');},
                        error:function(){alert('error');}
                    });



    }).fadeIn();
            downloadImage.css("display","inline-block");  

}

在url变量中存储图像源。正如您所看到的,我尝试使用ajax将其发布到process.php,但它似乎无法正常工作。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

要发布网址中的照片,请使用urlme/photos端点

var params = {};
params['message'] = 'The message';;
params['url'] = url;


FB.api('/me/photos', 'post', params, function(response) {
    if (!response || response.error) {
    // an error occured
        alert(JSON.stringify(response.error));
    } else {
    // Done
        alert('Published to stream');
    }
});