图形API新的新闻发布对象的附件不显示(Graph API new feed post object

2019-07-05 10:23发布

我在与图形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