2012-03-21 3 views
1

Итак, я создаю приложение в рамках CodeIgniter, которое работает как система очков с Facebook. Это в основном даст вам очки для совместного использования, нравится и т. Д. Я использую PHP SDK для аутентификации, и он отлично работает, но, к сожалению, метод iframe по вкусу и совместному использованию не будет работать, потому что мне нужно подключить обратный вызов.Facebook SDK Javascript и PHP

Итак, я знаю, что есть Javascript SDK, который имеет функцию Like Button, но может быть подключен обратный вызов? И если да, можете ли Javascript и PHP SDK работать вместе, чтобы вам не нужно было проходить проверку подлинности дважды? Или есть способ выполнить все это строго с помощью SDK PHP? Мне действительно нужно уметь любить и прикладывать к нему обратный вызов. Благодаря!

редактировать: Прикрепленный Javascript SDK код

<script> 
    window.fbAsyncInit = function() { 
    FB.init({ 
     appId  : '346032368781548', // App ID 
     channelUrl : '//localhost/channel.html', // Channel File 
     status  : true, // check login status 
     cookie  : true, // enable cookies to allow the server to access the session 
     xfbml  : true // parse XFBML 
    }); 

    // Additional initialization code here 
    }; 

    // Load the SDK Asynchronously 
    (function(d){ 
    var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0]; 
    if (d.getElementById(id)) {return;} 
    js = d.createElement('script'); js.id = id; js.async = true; 
    js.src = "//connect.facebook.net/en_US/all.js"; 
    ref.parentNode.insertBefore(js, ref); 
    }(document)); 
</script> 

<fb:like send="true" width="450" show_faces="true" /> 
<script type="text/javascript"> 
    FB.Event.subscribe('edge.create', 
     function(response) { 
      alert('You liked the URL: ' + response); 
      // Replace with the function that you want 
     } 
    ); 
</script> 

ответ

1

Да, вы можете запустить обратный вызов с помощью второго параметра, и если вы используете Facebook JavaScript SDK с PHP SDK, вы не должны иметь каких-либо проблем до тех пор, пользователь зарегистрирован и/или авторизован. Вы должны, однако, добавить Facebook Как кнопку, и добавить эту функцию, как, например:

<script type="text/javascript"> 
    FB.Event.subscribe('edge.create', 
     function(response) { 
      alert('You liked the URL: ' + response); 
      // Replace with the function that you want 
     } 
    ); 
</script> 

Если вы используете Facebook Ignited это позволит вам легко интегрировать Facebook PHP SDK с CodeIgniter. Он также расширяет функциональность, предоставляя вам простые в использовании функции.

+0

Спасибо за ваш комментарий! Мне все еще нужно инициализировать Javascript SDK, как здесь? http://developers.facebook.com/docs/reference/javascript/#xfbml-methods В настоящее время у меня есть это, поэтому они заходят в facebook и предоставляют мне доступ к их информации. Затем, как только они авторизованы, у меня есть php print_r, показывающий всю информацию. Является ли эта авторизация PHP достаточной для кнопки javascript SDK, которую вы разделили выше? –

+0

Да, вам нужно будет включить все необходимые для использования JavaScript SDK, чтобы связать соответствующий идентификатор приложения. Пока SDK SDK и JavaScript SDK имеют одинаковые детали, вы должны быть в порядке. Как только они авторизуют приложение, вы должны иметь возможность просматривать их информацию «да». – OpensaurusRex

+0

Еще раз спасибо. Я обновил сообщение, чтобы включить код Javascript. Я получаю сообщение об ошибке «FB не определен» в строке «FB.Event.subscribe (« edge.create »,«). –