0

ユーザーが自分の画像にインスタグラムのような効果を与えることができる Facebook アプリを持っています。 http://instakilo.herokuapp.com/
画像フィルタが追加されると、ダウンロード リンクが下部に表示されます。そのリンクをクリックすると、その編集された画像のソースが作成され、ダウンロード リンクの「href」属性に追加されます。 、画像がダウンロードされます。画像をダウンロードする代わりに、その画像をキャプション付きでユーザーの壁に投稿したいと思います。

私はいくつかのチュートリアルを検索しましたが、ユーザーがハードドライブから画像を選択して投稿するHTMLフォームを介して写真をアップロードすることを示していましたが、ここにその画像のソースがjavascript変数にあります。script.jsファイルの私のアプリでわかるように、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 に POST しようとしましたが、機能していないようです。

どうすればこれを達成できますか?

4

1 に答える 1

0

URL から写真を投稿するurlには、me/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');
    }
});
于 2013-03-10T19:37:01.533 に答える