我在与图形API,用来为我添加张贴到用户的新闻馈送与所附照片(在“object_attachement”参数引用)的缩略图工作下面的代码,一个奇怪的问题。
然而现在预期但是缩略图是空的创建后。 我使用的photo_id存在于用户的照片集。
$photo_ID = "3415678920211";//Valid Facebook Photo ID...
$facebook = new Facebook($config);
$attachment = array(
'access_token' => $user_token,
'message' => "Test Message",
'caption' => "THis is a Caption",
'name' => "Test Name",
'description' => "This is a description",
'link' => 'http://url.com/',
'object_attachment' => $photo_id,
);
$response = $facebook->api("/".$userID."/feed/", 'POST', $attachment);
难道我做错了什么? 我相信这确实使用的东西,如果我下面的API中改变工作和奇迹。
[更新]我注意到,这似乎当我指定在同一职位都链接&object_attachment发生。 如果我从上面的删除链接PARAM然后我得到不过稍微好一点的更新,这不是伟大的,因为主要的原因我想这个职位存在的是添加了链接。
Answer 1:
我假设用户给予了user_photos / friends_photos的权限。 既然你有photo_id,您可以尝试这个。
$pic = $facebook->api("/PHOTO_ID");
$pic_url = $pic->source;
$attachment = array(
'access_token' => USER_ACCESS_TOKEN,
'message' => "...",
'caption' => "...",
'name' => "...",
'description' => "...",
'link' => URL,
'picture' => $pic_url
);
添加
你需要存储的图像,其中一些本地,在本地服务器。 由于此文章
Answer 2:
我认为, 'object_attachment'=>$photo_id
将不再工作。 你应该将其更改为'picture'=>$photo_url
$photo_Url = "link to your photo";//Valid Facebook Photo ID...
$facebook = new Facebook($config);
$attachment = array(
'access_token' => $user_token,
'message' => "Test Message",
'caption' => "THis is a Caption",
'name' => "Test Name",
'description' => "This is a description",
'link' => 'http://url.com/',
'picture' => $photo_Url,
);
$response = $facebook->api("/".$userID."/feed/", 'POST', $attachment);
你可以找到更多在这里
Answer 3:
你必须允许pubish_stream在您的应用程序,然后尝试这种使用curl: -
$attachment = array(
'access_token' => $access_token,
'message' => 'i m success to using graph api for post wall',
'name' => 'Wall Post using graph api',
'link' => 'www.mysite.com',
'description' => 'Using the Graph API, any Facebook users Wall feed may be accessed by using this URL:',
'picture'=>'http://example.com/images/noimage.png'
);
$url = "https://graph.facebook.com/$facebook_id/feed";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
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);
print_r($result)
Answer 4:
您正在发布到饲料。 你应该张贴到LINK代替。
发布链接到图片的链接饲料,你应该罚款。
https://developers.facebook.com/docs/reference/api/link/
我会在蜱张贴的例子。
----后来----
Hmmmm,以及链接选项是不能令人满意的。 你得到的图片的缩略图,您可以点击它来查看完整图片,但它非常难看。 我真的不认为那是你所追求的。
所以我做了一些更多的实验,并保持来面对你提到CDN错误。 所以,我用Google搜索了一下,发现如下:
在流故事提供图片2010年6月18日下午3时21分
我们不再允许流的故事,包含有在fbcdn.net域托管的图像。 使用这些网址的相关的图像并不总是流的故事进行了优化,偶尔导致的错误,导致用户体验不佳。 确保您的流附件不会参考图像与此域。 您应该本地托管的图像。
所以你有它,根据Facebook的,可以不再做你想做的事。
文章来源: Graph API new feed post object-Attachment not showing