Facebook graph api 使用graph api获取页面提要上的直接链接

Facebook graph api 使用graph api获取页面提要上的直接链接,facebook-graph-api,post,Facebook Graph Api,Post,我现在尝试了很多组合,但我无法重现手动发布时获得的相同结果: 我想发布一个链接到我创建的facebook页面(而不是用户墙)。我通过获取页面访问令牌来执行此操作: $page_access = $facebook->api('/'.$pageid.'?fields=access_token'); 然后我设置(发布前): 最后,我的帖子是: $attachment = array('message' => 'this is my link', 'link' => 'h

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

我想发布一个链接到我创建的facebook页面(而不是用户墙)。我通过获取页面访问令牌来执行此操作:

$page_access = $facebook->api('/'.$pageid.'?fields=access_token');
然后我设置(发布前):

最后,我的帖子是:

$attachment = array('message' => 'this is my link', 
    'link' => 'http://www.facebook.com'
;
$sendMessage = $facebook->api('/'.$pageid.'/feed/','post',$attachment);
我还尝试在$attachment结构中设置name、link和description字段,但发布的结果始终包含以下类型的链接:

而不是直接链接到。但是,如果我手动发布链接,我会得到一个直接链接(这是我想要的),同时也会得到一个“共享”操作


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

你的应用程序没有发布直接链接的原因是因为你在应用程序上启用了
认证的推荐。这意味着Facebook总是试图让用户在重定向到链接之前连接到您的链接


尝试禁用
已验证的引用
,看看是否有区别。

是否在验证对话框设置中引用“已验证的引用”?这是我设置扩展权限(管理页面、发布流、读取流)的地方,因此我无法停用它?在“身份验证”对话框的下方,有一个用于
身份验证引用的辅助设置。单击右上角的“x”将为您删除此项。
$attachment = array('message' => 'this is my link', 
    'link' => 'http://www.facebook.com'
;
$sendMessage = $facebook->api('/'.$pageid.'/feed/','post',$attachment);