Приложение Facebook canvas - приглашай друзей - PullRequest
5 голосов
/ 05 июля 2011

Я пишу приложение iframe / canvas для Facebook и хотел бы дать пользователям возможность пригласить друзей для установки этого приложения. В настоящее время я использую PHP-SDK Facebook для входа в систему пользователей и всего взаимодействия с Facebook. Единственное, что я могу найти в реализации диалога приглашения друзей, это либо FBML, который устарел; или диалог запросов: https://developers.facebook.com/docs/reference/dialogs/requests/. Последнее, похоже, требует использования Javascript SDK Facebook, который имеет свои собственные методы входа в систему.

Является ли JS SDK моей единственной опцией, и если да, то как я могу ее использовать, не заставляя моих пользователей снова регистрироваться?

Ответы [ 3 ]

3 голосов
/ 06 июля 2011

первый подход:

function newInvite(){
                 var receiverUserIds = FB.ui({
                        method : 'apprequests',
                        message: 'Come on man checkout my applications.',
                 },
                 function(receiverUserIds) {
                          console.log("IDS : " + receiverUserIds.request_ids);
                        }
                 );
                 //http://developers.facebook.com/docs/reference/dialogs/requests/
            }

Второй подход:

<code><?php
     include_once "fbmain.php";
    if (isset($_REQUEST['ids'])){
        echo "Invitation Successfully Sent";
        echo '<pre>';
        print_r($_REQUEST);
        echo '
'; echo " Если вам нужно сохранить эти идентификаторы пользователей, сохраните их в базе данных
, а затем перенаправьте пользователя на apps.facebook.com/yourapp url
"; $ string = " top.location.href = '{$ fbconfig [' appBaseUrl ']}'; "; echo "Используйте следующий код JavaScript для перенаправления пользователя
"; эхо htmlentities ($ string, ENT_QUOTES); } еще { ?> <Фб: FBML> / invite.php" TARGET = "_ вершина" Метод = "POST" пригласить = «истинный» type = "API обучения демонстрационных приложений" content = "Оформить заказ этого демонстрационного приложения и изучить разработку приложения iframe base facebook. ' label = 'Accept' />" > </ FB: запрос-формы> </ Фб: FBML> </ Фб: serverFbml> <? php}?>

третий подход (с использованием PHP-SDK):

     $app_id = "YOUR_APP_ID";

     $canvas_page = "YOUR_CANVAS_PAGE_URL";

     $message = "Would you like to join me in this great app?";

     $requests_url = "http://www.facebook.com/dialog/apprequests?app_id=" 
            . $app_id . "&redirect_uri=" . urlencode($canvas_page)
            . "&message=" . $message;

     if (empty($_REQUEST["request_ids"])) {
        echo("<script> top.location.href='" . $requests_url . "'</script>");
     } else {
        echo "Request Ids: ";
        print_r($_REQUEST["request_ids"]);
     }
?>
1 голос
/ 08 июля 2011

Да - в настоящее время диалог запросов FB JS является единственным способом.И вашим пользователям не нужно будет проходить аутентификацию с вашим приложением - фактически им не нужно будет проходить аутентификацию со всем этим.У меня есть jsfiddle пример с кодом, который вы можете посмотреть, но все, что вам нужно указать, это идентификатор вашего приложения.

0 голосов
/ 16 апреля 2015

В настоящее время (по состоянию на v2.3) нет приложений холста, которые не являются играми, чтобы пригласить пользователей.

Может ли неигровое приложение использовать диалог FB apprequests в FB v2

...