Как лучше всего использовать старый API REST Facebook и новый API Graph Facebook на одной веб-странице? - PullRequest
0 голосов
/ 14 октября 2010

На существующей странице есть код для работы со старым API REST:

jQuery(document).ready( function() {
   FB_RequireFeatures(["Connect", "XFBML"], function() {
     FB.init('12345678ABCDEF','/xd_receiver.html', {ifUserNotConnected: fb_user_not_connected});    // real key replaced by 12345678ABCDEF

, которая должна поддерживать «Войти через Facebook» и кнопку «Поделиться», чтобы поделиться историей в Facebook.

Если добавлен следующий код для нового Graph API

<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    FB.init({appId: '123456', status: true, cookie: true,   // real appId replaced by 123456
             xfbml: true});
  };

  jQuery(document).ready( function() {
    (function() {
      var e = document.createElement('script'); e.async = true;
      e.src = document.location.protocol +
        '//connect.facebook.net/en_US/all.js';
      document.getElementById('fb-root').appendChild(e);
    }());
  })
</script>

тогда перестали работать «Поделиться» и «Войти через Facebook». Я понимаю, что каждый код вызывает свой FB.init(), один с двумя строками и одним объектом, а другой вызывает FB.init () только с одним объектом. Один переопределяет другой FB.init ()?

Некоторые люди думают, что это не может работать:

http://forum.developers.facebook.net/viewtopic.php?id=66057

Может ли Javascript SDK Facebook работать вместе со старым API Facebook?

и некоторые люди, которые думают, что могут:

http://forum.developers.facebook.net/viewtopic.php?pid=278718#p278718

http://github.com/mmangino/facebooker2/issues/closed#issue/18

1 Ответ

0 голосов
/ 15 октября 2010

Оба API доступны из нового клиента JS. Вы смешиваете термины «API» и «клиент JS». Вы можете (вы должны) использовать новый клиент и отправлять запросы как к REST, так и к GRAPH API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...