我目前在通过 facebook API 上传图像时遇到问题 - 我没有通过 API 返回任何错误,此时我认为这可能是我传入的文件路径不正确的问题。
用户使用该应用程序后,该图像存储在我们的服务器上,然后我想将其发布到 Facebook。
我的代码如下:
运行后我没有收到来自 API 的响应,而如果我故意更改 oauth_token 我会收到一个错误(所以我知道数据肯定在发布)
我也在打印 args 数组,这样我就可以准确地看到我发布的内容:
这是回应。
如果我在 @ 符号之后导航到 URL,即使我删除了 @C:\Domains 并替换为 www,它也会被破坏。如果用户知道文件名,我尝试传递用户实际可以导航到的 URL
例如https://www.example.co.uk/competition/fb/photos/collagetest.jpg
^ 这是一个有效的链接,但在传递图像时仍未实际上传。
任何帮助将不胜感激!
Array ( [message] => Photo from ********[image] => @C:\Domains\******.co.uk\wwwroot\v2\competition\fb\photos\collagetest.jpg )
//upload photo
$file= './photos/'.basename('collagetest.jpg');
$args = array(
'message' => 'Photo from friendbooth',
);
$args['image'] = '@' . realpath($file);
$ch = curl_init();
$url = 'https://graph.facebook.com/photos?access_token='.$_SESSION['oauth_token'];
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $args);
$data = curl_exec($ch);
print_r($args);
//returns the photo id
print_r(json_decode($data,true));
?>
<img src="collagetest.jpg" />
<?