我使用下面的代码通常在墙上张贴照片
$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)需要上传文件“,”输入“:”OAuthException“,”code“:32
我能知道是什么原因吗?我错在哪里?
p.s - $ im返回@ / base / data / home / apps / s~myphotoapp / 1.362007154292719350 / prof.jpg
答案 0 :(得分:1)
但是当我收到错误#324)需要上传文件“,”输入“:”OAuthException“,”code“:32
我能知道是什么原因吗?
简单:您没有实际上将文件上传为HTTP上传。
数据必须以称为multipart/form-data
的格式进行编码 - 而您只是将参数放入URL,这是不同的。
因此,您可以进行一些研究,如何在Google App Engine为您提供的技术范围内以multipart/form-data
发送数据;
或...如果您的图片可以通过HTTP公开访问,您还可以为名为source
的参数切换url
参数,在该参数中您可以提供可以检索图像的HTTP URL。 / p>