0

キャンバス アプリで問題が発生しました。Like ボタンのコードが有効になっている場合、FB.ui 呼び出し 'apprequests' でエラーが発生します。いいねボタンをコメントアウトすると元に戻ります。「stream.publish」を使用した呼び出しは正常に機能します。

私の初期化コード:

FB.init({
  appId  : '12345',
  status : true,
  cookie : true,
  xfbml  : true,
  channelUrl : '/channel.html',
  oauth  : true
});

FB ツールで生成された Like ボタンのコード:

<div style="padding-left:177px">
<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) {return;}
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1&appId=12345";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

<div class="fb-like" data-href="http://www.facebook.com/apps/application.php?id=12345" data-send="false" data-width="450" data-show-faces="false" data-colorscheme="dark"></div>
</div>

FB.ui 呼び出し:

FB.ui(
  {
    method: "apprequests",
    display: "iframe",
    message: "You have to check this out!"
  },
  function(response) {
    if (response && response.request_ids) {
      $.post("response.php", { rid: response.request_ids, data: data }, function(result) {
      });
    }
  }
);

FB.ui が呼び出されたときにユーザーが受け取るエラー:

API Error Code: 102
API Error Description: Session key invalid or no longer valid
Error Message: Iframe dialogs must be called with a session key

どんな助けでも大歓迎です!

4

2 に答える 2

1

「iframe」表示メソッドを使用する場合は、有効な access_token を渡す必要があります: https://developers.facebook.com/docs/reference/dialogs/

于 2011-12-14T02:33:57.987 に答える
0

display: "iframe" を削除するだけでうまくいきました。引き続き iframe に表示されますが、エラーは発生しません。理由は聞かないでください。1:1 の同じアプリ設定で、私の別のアプリの表示値で動作します...

于 2012-10-11T09:42:27.950 に答える