0

ページにタブを追加しようとしていますが、FacebookのグラフAPIは、次のパラメータを使用してリクエストを行う必要があると述べています。

/PAGE_ID/tabs?app_id=MY_APP_ID&method=post&access_token=PAGE_ACCESS_TOKEN

FB.apiで使用する場合:

FB.api("/PAGE_ID/tabs?app_id=MY_APP_ID&method=post&access_token=PAGE_ACCESS_TOKEN", function(response) {

});

応答はページ上のタブのリストにすぎませんが、ブラウザに移動して同じものを入力すると、次のようになります。

https://graph.facebook.com/PAGE_ID/tabs?app_id=MY_APP_ID&method=post&access_token=PAGE_ACCESS_TOKEN

同じリクエストを手動でのみ行うと、trueが返され、タブが追加されます。

注:ここで 説明されているように、ページアクセストークンとページIDがあります。サブセクション「作成」。

4

2 に答える 2

1

応答は、ページ上のタブのリストにすぎません

これが、へのGETリクエストで得られるものです/pageid/tabs

つまり、これはパラメータmethod=postが正しく認識されていないことを示しています。そのため、POSTは行われず、GETリクエストが行われるだけです…そしてページのタブのリストを取得します。

代わりにこれを使用すると、機能するはずです。

FB.api("/PAGE_ID/tabs?app_id=MY_APP_ID&access_token=PAGE_ACCESS_TOKEN",
  "post",
  function(response) { console.log(response); }
);

ここでは、メソッド名を文字列として渡すだけで、2番目のパラメーターを介して使用するメソッドをFB.apiに指示します"post"

私のページとアプリを使用してこれをテストしましtrueた。期待どおりにコンソールに戻り、アプリはその後ページにページタブアプリとしてインストールされます。

于 2013-03-11T16:26:48.617 に答える
0

このコードを試してみてください:

<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:fb="https://www.facebook.com/2008/fbml">
  <head>
    <title>My Add to Page Dialog Page</title>
  </head>
  <body>
    <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: "YOUR_APP_ID", status: true, cookie: true});

  function addToPage() {

    // calling the API ...
    var obj = {
      method: 'pagetab',
      redirect_uri: 'REDIRECT_URI',
    };

    FB.ui(obj);
  }

    </script>
  </body>
</html>
于 2013-03-10T14:01:42.883 に答える