приложение facebook, приглашающее друзей после завершения обновления статуса - PullRequest
0 голосов
/ 20 марта 2011

Я делаю приложение на Facebook, кажется, все сделано. Вот пример потока (index.php):

  1. seekpermission.php

  2. processinfo.php

  3. generateresult.php

  4. poststatus.php (способ javascript, как указано в документации)

  5. Invitefriends.php (способ JavaScript, как сказано в документации)

надеюсь, что имена говорят сами за себя. проблема в том, что диалог обновления статуса и приглашения друзей происходит почти параллельно, но я хочу, чтобы пользователь опубликовал / пропустил сообщение о статусе только тогда, когда должен появиться диалог приглашения друзей. вот что я пробовал, но это не работает, пожалуйста, помогите спасибо!

 FB.ui(
    {
        method: 'feed',
        name: 'name goes here',
        link: 'http://apps.facebook.com/****/',
        picture: '<?php echo $imageurl; ?>',
        caption: 'here is caption',
        description: 'the description',
        message: '<?php echo $charecter; ?>'
    },
    function(response) {
    if (response && response.post_id) {
    alert('<?php include "invitefriends.php"; ?>');

    } else {

    alert('<?php include "invitefriends.php"; ?>');

 }

вот так приглашаем. Php

<body>
   <div id="fb-root"></div>
   <script src="http://connect.facebook.net/en_US/all.js">
   </script>
   <script>
     FB.init({ 
       appId:'2****', cookie:true, 
       status:true, xfbml:true 
     });

     FB.ui({ method: 'apprequests', 
       message: 'Folks check out my new facebook app!! visit http://apps.facebook.com/**** '});
   </script>
   </body>

1 Ответ

0 голосов
/ 20 марта 2011

Ну, это странный способ выполнить простую задачу:
Вы можете объединить шаги 4 и 5 в один шаг:

FB.ui(
    {
        method: 'feed',
        name: 'name goes here',
        link: 'http://apps.facebook.com/****/',
        picture: '<?php echo $imageurl; ?>',
        caption: 'here is caption',
        description: 'the description',
        message: '<?php echo $charecter; ?>'
    },
    function(response) {
        FB.ui({ method: 'apprequests', 
        message: 'Folks check out my new facebook app!! visit http://apps.facebook.com/**** '});
        /* if (response && response.post_id) {
            alert('<?php include "invitefriends.php"; ?>');

        } else {

            alert('<?php include "invitefriends.php"; ?>');

        } */
    }
)

Как видите, нет необходимости в if else, так как вы все равно будете вызывать приглашение!

Теперь, если вам действительно нужно использовать свой подход, тогда вы можете использовать что-то вроде (в response:

location.href='<?php echo 'path/to/invitefriends.php';

ВАЖНОЕ ПРИМЕЧАНИЕ:
Скорее всего ALL ваши 5 шагов могут быть объединены в файл ONE , это лучше, потому что:

  1. Вам не нужно загружать и инициализировать JS-библиотеку ПЯТЬ раз!
  2. Будет удобнее работать вместо загрузки каждый раз
  3. Вы можете обернуть все вызовы Facebook в функции JS и просто вызвать каждый из них в ответ на предыдущий!
...