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 に答える