0

ページ タブ アプリケーションからアクティビティを投稿する方法はありますか?

なんとかアクティビティを投稿できましたが、アプリは Facebook のアプリ (キャンバスを使用) になるように構成する必要があります。これは、アプリケーションへのリンクがhttp://apps.facebook.com/...であることを意味します-そのリンクをページタブアプリケーションに配置したいだけです。

ありがとう!

4

1 に答える 1

2

Facebook アプリの設定で、ページ タブ URL とセキュア ページ タブ URL を設定します。次に、このダイアログを使用してアプリを Facebook ページに追加します: https://www.facebook.com/dialog/pagetab?app_id=YOUR_APP_ID&redirect_uri=YOUR_PAGE_TAB_URL

更新:
リダイレクトを行うことをお勧めします。次の関数 (PHP) を使用して、アプリがページ タブ内に表示されているかどうかを確認できます。

function referrerIsFacebookCanvasApp() {
    if (stripos($_SERVER['HTTP_REFERER'], "apps.facebook.com") === true) {
        return true;
    }
    return false;
}

ただし、注意してください。リファラー ヘッダーは偽造される可能性があります。

更新 2 (最新のコメントに基づく): 問題を解決する唯一の方法は、アクション ID をアクションが発行されたページのページ ID と共に保存し、次に GET 要求パラメーターを読み取ることだと思います。このように渡されました:

https://apps.facebook.com/YOUR_APP_NAMESPACE/?fb_source=timeline_og&fb_action_ids=THE_ACTION_ID&fb_action_types=YOUR_APP_NAMESPACE%3ADO_SOMETHING& ...

またはこれ

http://www.facebook.com/l.php?u=https://YOUR_SITE.com/?type=OBJECT_TYPE&locale=en_US&title=TITLE&image=thumb.png&description=DESCRIPTION&fb_action_ids=ACTION_ID&fb_action_types=YOUR_APP_NAMESPACE%3ADO_SOMETHING&fb_source=aggregation&fb_aggregation_id=AGGREGATION_ID& .. .

(を読むことでそれを行うことができるはずですparent.location
そしてそれに応じてリダイレクトします。

于 2012-07-16T10:59:14.210 に答える