我遗漏了什么吗?我想上传到用户墙。
//Facebook Wall Update
$params = array('access_token'=>$access_token, 'source'=>'@'.$link, 'message'=>$message);
$graph_url = "https://graph.facebook.com/". $fbuserid . "/photos?access_token=" . $access_token;
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => $graph_url,
CURLOPT_POSTFIELDS => $params,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_VERBOSE => true
));
$result = curl_exec($ch);
我建议使用Facebook PHP-SDK:
https://github.com/facebook/facebook-php-sdk
它有你需要的一切,还有更多的功能。
很少更改-
-
如果你想张贴到墙上,你应该使用"/feed"端点,而不是"/photos"。这是将一张图片发布到相册中(通常是时间线)。
-
/feed终结点没有"message"。相反,你可以使用名称、标题、描述等。这些在下面的链接中突出显示。
-
自2013年2月起,你不能在任何其他人的墙上发帖,除非用户已经验证了该应用程序。因此,您只能发布到"我/订阅源"。
https://developers.facebook.com/docs/reference/api/post/
https://developers.facebook.com/roadmap/
如果你确实试图上传照片,你应该尝试以下数组:
$msg_body = array(
'message' => $message,
'url' => 'http://xyz.com/img.png'
);
如果图片来自您自己的网站,请将"url"替换为"source"。
请确保已从用户处获得"publish_stream"权限。