2012-08-24 145 views
6

我正在尝试将照片上传到我的网页墙上(并且正在成功完成),但不是我想要的方式。Facebook API:将照片上传到墙上?

以下是我想要的照片显示:http://screencast.com/t/wnRFBh1xlf

然而,这里是它的实际显示出来:http://screencast.com/t/4WblA7s8fyE

下面是我使用的是卷曲上传照片的代码(或相反,链接到它)

$img_url = "url"; 
$page_id = "XXXXX"; 
$url = "https://graph.facebook.com/$page_id/feed"; 
$fields = array(
         'access_token'=>urlencode("XXXXXXX"), 
         'message'=>urlencode("Far Cry 3!"), 
         'picture'=>$img_url 
       ); 

所以,从我可以告诉,我应该能够将图像存储在我的服务器上,并张贴的图片过的来源,但我只是得到的时候我做了一个错误那。

下面是代码和错误...

“{” 错误 “:{” 消息 “:”(#100)源URL格式不正确 “ ”类型“: ”OAuthException“,” 代码“:100}}”

$img_url = 'url'; 
$img = 'temp_image.jpg'; 
$contents = file_get_contents($img_url); 
file_put_contents($img, $contents); 
$path = realpath($img); 
//echo $path; 

//set POST variables 
$page_id = "XXXXXX"; 
$url = "https://graph.facebook.com/$page_id/feed"; 
$fields = array(
         'access_token'=>urlencode("XXXXXXX"), 
         'message'=>urlencode("Far Cry 3!"), 
         'source'=>"@".$path 
       ); 

我不确定这里发生了什么问题,并且一直在寻找它 - 没有运气。

希望有人能给我一个线索,我应该怎么做。

谢谢!

+0

可以显示一个'$ img_url'样本? –

回答

5

你发布到/feed连接在那里,如果你想放大图像,您需要将照片居然上传到用户的相册之一(即/photos连接)

+0

啊,谢谢。我没有意识到这一点。手动操作时,我总是直接在墙上张贴照片。这有很大帮助。如果这能解决问题,我会通知你。 – user1146223

+0

在url的末尾添加'?type = large'(或者其中之一:小,普通或正方形)以发送大图片 –

+0

Gabriel - 这将如何工作?他正在上传图片,而不是从API – Igy

相关问题