SO上有一些关于这个的讨论,我已经尝试了我找到的所有建议,但没有骰子。
每次我使用我的应用程序发布到 FB 墙上时,一切都很顺利,除了 没有显示在墙上的该死的图片附件。
我正在使用 CURL 如下
$attachment = array(
'access_token' => $fb_user['access_token'],
'message' => $fb['post_text'],
'link' => $fb['post_url'],
'name' => $fb['post_title'],
'description' => 'bla',
'picture' => rawurlencode($fb['post_picture']),
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,'https://graph.facebook.com/' . $fb_user['uid'] . '/feed');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $attachment);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //to suppress the curl output
$result = curl_exec($ch);
curl_close($ch);
我敢肯定你以前看过这段代码。无论如何,图片没有显示在墙上。
我已经通过 FB linter 运行了图片 URL,它返回 200但给出了一个似乎矛盾的错误
http://example.com/images/pictures/post/full/0367496d7569e6a85ec4d64af02f6b60.jpg
Response Code: 200
Errors That Must Be Fixed
Can't Download: Could not retrieve data from URL.
当然,我可以在浏览器上调出图像。并且图片路径上的所有文件夹都是755
,图片本身也是644
。
因此,如果您有任何想法要向我抛出,请给我一个指导如何调试它。欢迎任何意见。
谢谢。
++++++++++++++++++++++
$attachment = array(
'access_token' => $fb_user['access_token'],
'message' => $fb['post_text'],
'link' => $fb['post_url'],
'name' => $fb['post_title'],
'description' => 'bla',
'media' => array(
'type' => 'image',
'src' => rawurlencode($fb['post_picture']),
'href' => $fb['post_url'],
),
);