我正在尝试通过图形api将图像发布到用户的墙上。我试着在我的服务器上发布一个图片,它工作得很好。但是当我尝试发布一个本地文件时,它给出了以下错误。未捕获的OAuthException:(#100)图片地址格式不正确。
我的代码如下所示
require_once "facebook-sdk/src/facebook.php";
$app_id = "23432423432";
$app_secret = "345345353553535353534534";
// Init facebook api.
$facebook = new Facebook(array(
'appId' => $app_id,
'secret' => $app_secret,
'cookie' => true
));
$urlTitle = 'my url';
$review = 'test desc';
//$picLocal = 'http://l.yimg.com/a/i/ww/met/yahoo_logo_in_061509.png';
$picLocal = '@' . realpath('/var/www/PixShare/a.jpg');
$attachment = array('message' => ' testing',
'description' => 'Review: ' . $review,
'access_token' => 'USER ACCESS TOKEN',
'picture' => $picLocal
);
if(!($sendMessage = $facebook->api('/me/feed/','post',$attachment))){
$errors= error_get_last();
echo "Facebook publish error: ".$errors['type'];
echo "<br />\n".$errors['message'];如果可能的话,请让我知道。
发布于 2011-11-30 19:30:11
Facebook API (或任何在线应用程序/网站)无法检索您的本地文件。所以你必须以某种方式在网上托管你的文件。
或者,如果你有静态IP,你可以开放你的本地主机到互联网。根据你的IP地址给出文件的目的地。但这不是一个好的解决方案,因为你必须一直连接到互联网,并且apache运行没有任何错误。而且你的网络连接也应该很棒..
因此,让我们在某个地方托管:)
发布于 2012-05-16 19:57:19
这对我来说很有效:
$photo = realpath("mypic.png");然后使用这个
$picLocal = '@' . $photo;如果图片在你的.php文件旁边
https://stackoverflow.com/questions/8324595
复制相似问题