3

誰のFBページにも追加できる非常に簡単なページタブアプリがあります。ユーザーが自分の FB ページにアプリを追加できるように、サイトにボタンを提供しています。

iframe ページ タブの URL (およびセキュリティで保護された URL) を更新して、クエリ文字列を含めたいと考えています。これにより、アプリをページに追加するユーザーごとに iframe のコンテンツをカスタマイズできます。

基本的な使用例は、ユーザー 1 がボタンをクリックすると、アプリがページに追加されるというものです。iframe のコンテンツはユーザー 1 に固有です。ユーザー 2 も同じことを行いますが、彼のタブのコンテンツはユーザー 2 に固有です。サイトでクエリ文字列を処理して、正しく応答するようにすることはできますが、方法がわかりません。タブの URL に、[アプリを Facebook に追加] ボタンからクエリ文字列パラメーターを追加します。

私が使用しているFacebookコードへの現在の追加アプリ:

<div id='fb-root'></div>
<script src='http://connect.facebook.net/en_US/all.js'></script>
<p><a onclick='addToPage(); return false;'>Add to Page</a></p>
<p id='msg'></p>

<script> 
  FB.init({appId: "252314034891861", status: true, cookie: true});

   function addToPage() {

  // calling the API ...
  FB.ui(
    {
        method: 'pagetab'
    },
    function(response) {
        if (response != null && response.tabs_added != null) {

            $.each(response.tabs_added, function(pageid) {
                  alert(pageid);
            });
        }
    }
  );


  }

</script>

ご協力いただきありがとうございます!

詳細情報を追加するために編集

これについて別の開発者と話し合った後、明確にしたいと思いました。User1 が自分のページにタブを追加すると、誰がタブを表示しても、コンテンツは常に User1 のコンテキストになります。User2 がこのタブを自分のページに追加すると、誰がタブを表示しても、コンテンツは User2 のコンテキストになります。タブのコンテンツは、ページにタブを追加したユーザーに固有です。

4

1 に答える 1

3

コンテンツを追加したページ管理者のユーザー ID ではなく、ページ ID に基づいてコンテンツを変更する必要があります。短いバージョン: これは、アプリのロードでページ管理者のユーザー ID を確実に渡すことができないためです (または、ユーザーが手動でタブにアクセスできるため、実際にはその他の情報)。

ただし、ページ ID は、 signed_requestpageのプロパティを介してアプリへのすべてのリクエストとともに、現在のユーザー ID (アプリが承認されている場合) や、ページが気に入ったか管理者であるかなどの他のパラメーターと共に渡されます。ページの (承認ステータスに関係なく)

アプリをページに複数回インストールすることはできないため、アプリ ID / ページ ID は目的に合わせて一意になります。

表示をカスタマイズするためにページ タブ アプリに渡すことができる唯一の他のパラメーターは、signed_requestapp_dataのプロパティで送信されるパラメーターpageですが、これはそのパラメーターを含むリンクにのみ適用されます。ページ タブをクリックしたユーザーは直接勝ちました。そのパラメータが渡されず、カスタマイズされていないコンテンツが取得されます

詳細については、ドキュメントの「はじめに」セクションにあるページ タブのチュートリアルを参照してください。

于 2012-10-22T23:52:57.677 に答える