php:将照片上传到facebook墙的替代方法
我通常用下面的代码在墙上贴一张照片php:将照片上传到facebook墙的替代方法,php,google-app-engine,facebook-graph-api,Php,Google App Engine,Facebook Graph Api,我通常用下面的代码在墙上贴一张照片 $attachments = array( 'message' => $mess, 'access_token' => $access_token ); $facebook->setFileUploadSupport(true); $attachments['image'] ='@'.realpath($filename); $photoz = $facebook->
$attachments = array(
'message' => $mess,
'access_token' => $access_token
);
$facebook->setFileUploadSupport(true);
$attachments['image'] ='@'.realpath($filename);
$photoz = $facebook->api('/'.$aid.'/photos', 'POST', $attachments);
我使用谷歌应用程序引擎,所以上面的方法行不通,所以我遵循下面的方法
$filename ="prof.jpg";
$im ='@'.realpath($filename);
$post = "https://graph.facebook.com/".$aid."/photos?access_token=".$access_token."&message=hellohi&source=".$im."&method=POST";
$upload = fetch_url($post);
echo $upload;
但是当我收到错误时,#324)需要上传文件,“键入”:“OAutheException”,“code”:32
我能知道原因吗?我错在哪里
p、 s-$im返回@/base/data/home/apps/s~myphotoapp/1.362007154292719350/prof.jpg
但是当我收到错误时,#324)需要上传文件,“键入”:“OAutheException”,“code”:32
我能知道原因吗
简单:您实际上并没有将文件作为HTTP上载进行上载
数据必须以称为multipart/formdata
的格式进行编码,而您只是将参数放入一个URL中,这是不同的
因此,要么你去做一些研究,如何在Google App Engine提供的技术范围内以多部分/表单数据的形式发送数据
或者…如果您的图像可以通过HTTP公开访问,您还可以切换名为url
的参数的source
参数,在该参数中,您给出了可检索图像的HTTP url