通过Facebook图形API发布链接时,无法在新闻源上获取大图片

时间:2014-01-07 14:51:40

标签: facebook facebook-graph-api

当我们尝试使用Facebook图形api在我们的Facebook页面上发布链接时,我们的图片在我们的页面墙上显示为大尺寸但不会出现大尺寸 我们的粉丝新闻。

我们的链接包含以下OG标记:

  • og:site_name

    <meta content="Ohmymag" property="og:site_name"/>

  • og:url

    <meta content="http://www.ohmymag.com/animaux/un-chat-joue-au-ping-pong_art77872.html" property="og:url"/>

  • og:locale

    <meta content="fr_FR" property="og:locale" />

  • og:title

    <meta content="Un chat joue au ping-pong" property="og:title"/>

  • og:description

    <meta content="Les amateurs de ping-pong n'ont qu'a bien se tenir, ce chat a tout d'un futur champion de tennis de table" property="og:description"/>

  • og:输入

    <meta content="article" property="og:type">

  • og:image

    <meta content="http://img1.ndsstatic.com/animaux/un-chat-qui-fait-du-ping-pong_148897_w620-p.jpg" property="og:image"/>,620px大,349px高度和0.56比例关联图片。

我们测试了不同的发布链接方式:

  • 当我们手动发布时,我们的链接会在我们的页面墙和粉丝新闻Feed上显示大尺寸图片。
  • 当我们使用Hootsuite(api)发布时,我们的链接也会在我们的页面墙和我们的粉丝新闻Feed上显示大尺寸图片。
  • 当我们用api自己发布时,我们的链接会在我们的页面墙上显示大尺寸图片,但我们的粉丝新闻提要上的图片尺寸较小。

要自己发布,我们使用Facebook图形api与PHP和Curl。

我们通过以下步骤生成PAGE ACCESS TOKEN:

  1. 当我们的页面管理员登录我们的应用程序时,我们会获得一个SHORT-LIVED USER ACCESS TOKEN,具有manages_pages和publish_stream权限。
  2. 我们通过此请求与长期用户访问权限交换了SHORT-LIVED USER ACCESS TOKEN:https://graph.facebook.com/oauth/access_token?client_id=xxx&client_secret=yyy&grant_type=fb_exchange_token&fb_exchange_token=zzz
  3. 最后,我们收到了一个不可过期的PAGE ACCESS TOKEN,其中包含以下请求:https://graph.facebook.com/USERID/accounts?access_token=zzz
  4. 我们尝试了几种无需结果的请求方式:

    • 关于“FACEBOOK_PAGE_ID / feed”(有或没有可选参数:图片,名称,标题,说明)。
    • 关于“FACEBOOK_PAGE_ID / links”(有或没有可选参数:图片,名称,标题,说明)。

    请求例子:

    $data['link'] = "http://www.ohmymag.com/animaux/un-chat-joue-au-ping-pong_art77872.html";
    $data['access_token'] = PAGE_ACCESS_TOKEN;
    
    $post_url = 'https://graph.facebook.com/'.FACEBOOK_PAGE_ID.'/feed';
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $post_url);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $return = curl_exec($ch);
    curl_close($ch);
    

    你认为Hootsuite是白名单还是我们需要采取不同的做法?

    感谢。

    Gaëlle。

1 个答案:

答案 0 :(得分:0)

Facebook不接受og:languange,你可以在这里验证:https://developers.facebook.com/tools/debug/你把它放在网址上。正确是

<meta property="og:locale" content="fr_FR" />

当你在debuger上验证你的网址并且你的链接是whitout任何错误Facebook粉丝看到图片显示大尺寸。