通过外部php脚本将图像上传到facebook

通过外部php脚本将图像上传到facebook,php,facebook,flash,upload,photo,Php,Facebook,Flash,Upload,Photo,我已经为facebook开发了一个Flash测验应用程序,它在完成后会无声地调用一个php脚本。php脚本的功能是从flash发送的POST数据生成一个图像,然后将其发布到用户的墙上 这一切都很好,但由于某种原因,图像从未上传,可能是因为当我调用它时,里面的facebook SDK脚本出现了Oauth错误,可能是因为它没有嵌入到画布中 我的问题是: 如果我想让我的php脚本生成一个图像并上传到fb墙,那么我应该如何从flash调用它 这是我目前使用的AS2代码: callRemoteFile =

我已经为facebook开发了一个Flash测验应用程序,它在完成后会无声地调用一个php脚本。php脚本的功能是从flash发送的POST数据生成一个图像,然后将其发布到用户的墙上

这一切都很好,但由于某种原因,图像从未上传,可能是因为当我调用它时,里面的facebook SDK脚本出现了Oauth错误,可能是因为它没有嵌入到画布中

我的问题是:

如果我想让我的php脚本生成一个图像并上传到fb墙,那么我应该如何从flash调用它

这是我目前使用的AS2代码:

callRemoteFile = function(ourVariable:Number) {
        var result_lv:LoadVars = new LoadVars();
    result_lv.onLoad = function(success:Boolean) {
                if (success) {
                        if (result_lv.message=="success")
                                trace("done! "+result_lv.returnValue);
                        else
                                trace(result_lv.message);
                } else {
                        trace("Error connecting to server");
                        return false;
                }
    };
    var send_lv:LoadVars = new LoadVars();
    send_lv.ourVariable = ourVariable;
    send_lv.sendAndLoad(" http://www.myhost.com/appfolder/img-generate.php", result_lv, "POST");
}
callRemoteFile(String(health.toString()));
这是img生成PHP(我省略了大多数图像函数和POST数据的获取,因为它们与我的问题无关):

如果我只是用浏览器导航到php,它会告诉我:

致命错误:未捕获OAuthException:无效的OAuth访问令牌签名。在1039行的/home/a01223445/public_html/appfolder/base_facebook.php中抛出

如果我通过FacebookCanvas查看同一个php,它将非常有效。我的问题是:画布将显示flash,我希望在flash运行时对php进行静默评估

抱歉问了这么长的问题


提前感谢您的帮助

我遇到了添加realpath()所需的相同问题


我遇到了添加realpath()所需的相同问题


如果查看
setFileUploadSupport
函数的源代码,您会发现这是一个
布尔值。将其设置为
true
。此外-您是否具有从应用程序中以编程方式发布故事所需的
publish\u stream
权限?我之前已通过index.php获得publish\u stream,但现在我将尝试您所说的内容,并返回报告。(有趣的是,相同的piec代码适用于我使用过的所有其他应用程序——尽管它们是从画布内部启动的)不。。。仍然不工作。。。我有一种感觉,我可能需要以某种方式通过应用程序画布调用它,以便能够收集所需的facebook数据,以便在没有OAuth错误的情况下启用上载…如果您查看
setFileUploadSupport
函数的源代码,您将看到这是一个
布尔值。将其设置为
true
。此外-您是否具有从应用程序中以编程方式发布故事所需的
publish\u stream
权限?我之前已通过index.php获得publish\u stream,但现在我将尝试您所说的内容,并返回报告。(有趣的是,相同的piec代码适用于我使用过的所有其他应用程序——尽管它们是从画布内部启动的)不。。。仍然不工作。。。我有一种感觉,我可能需要以某种方式通过应用程序画布调用它,以便能够收集所需的facebook数据,以便在没有OAuth错误的情况下启用上载。。。
include 'facebook.php';
$app_id = "111111111111111";
$app_secret = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa";
$facebook = new Facebook(array(
        'appId' => $app_id,
        'secret' => $app_secret,
        'cookie' => true,
));

$date = date("ymdHis");

$im = imagecreatefromjpeg('myimg.jpg');
imagejpeg($im,'temp/'. $date . md5($ida) . '.jpg');

$facebook->setFileUploadSupport(
    "http://" . $_SERVER["SERVER_NAME"]
);

$photo = $facebook->api("/me/photos", "POST", array(
    source => "@" . 'temp/'. $date . md5($ida) . '.jpg',
    message => "Something to display with the image"
));
$path = realpath('/'. $imgcode. '.jpg');
array(
        'source' =>  "@" . $path,
...