使用graph api获取页面Feed的直接链接

时间:2012-05-29 09:00:50

标签: facebook-graph-api post

我现在尝试了很多组合,但是我无法重现与手动发布时相同的结果:

我想发布一个链接到我创建的Facebook页面(而不是用户墙)。我这样做是通过获取页​​面访问令牌:

$page_access = $facebook->api('/'.$pageid.'?fields=access_token');

然后我设置(发布前):

$facebook->setAccessToken($page_access['access_token']);

最后我的帖子是:

$attachment = array('message' => 'this is my link', 
    'link' => 'http://www.facebook.com'
;
$sendMessage = $facebook->api('/'.$pageid.'/feed/','post',$attachment);

我还尝试在$ attachment结构中设置名称,链接和描述字段,但发布的结果总是包含以下类型的链接:

https://www.facebook.com/connect/uiserver.php?app_id=_my_app_id&method=permissions.request&redirect_uri=http%3A%2F%2Fwww.facebook.com%2F&response_type=code&display=async&auth_referral=1

而不是http://www.facebook.com的直接链接。但是,如果我手动发布链接,我会得到一个直接链接(这是我想要的),也是一个“共享”动作。

所以我的问题是:我如何说服api按原样发布链接,并获得“分享”动作?

1 个答案:

答案 0 :(得分:2)

您的应用未发布直接链接的原因是您的应用已启用Authenticated Referrals。这意味着Facebook会在重定向到链接之前尝试让用户Connect到您的链接。

尝试停用Authenticated Referrals并查看它是否有所作为。