0

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

我想发布一个链接到我创建的 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 按原样发布链接,并获得“共享”操作?

4

1 回答 1

2

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

尝试禁用Authenticated Referrals,看看它是否有所作为。

于 2012-05-29T09:44:40.290 回答