Диалог запросов в Silverlight - PullRequest
2 голосов
/ 28 января 2011

Я делаю простое приложение с Silverlight для запуска на Facebook.

Я уже понимаю, что для приглашения друзей в приложение мне нужно позвонить на fb:request-form или использовать Более простые запросы.

Как мне вызвать один из этих методов из Silverlight In-Browser?

Ответы [ 2 ]

0 голосов
/ 21 июля 2011

Я решил эту проблему, поместив код javascript facebook в файл aspx, в котором хранится мой xap silverlight, а затем вызвал этот код через silverlight.

Этот код входит в мой файл aspx:

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

  function sendRequestToRecipients() {
    var user_ids = document.getElementsByName("user_ids")[0].value;
    FB.ui({method: 'apprequests',
      message: 'My Great Request',
      to: user_ids, 
    }, requestCallback);
  }

  function sendRequestViaMultiFriendSelector() {
    FB.ui({method: 'apprequests',
      message: 'My Great Request'
    }, requestCallback);
  }

  function requestCallback(response) {
    // Handle callback here
  }
</script>

Затем вы можете вызвать его из Silverlight, используя этот код:

        var param = new object[] { };
        HtmlPage.Window.Invoke("sendRequestViaMultiFriendSelector", param);
0 голосов
/ 29 января 2011

Вы можете поместить некоторый код JavaScript (для использования упрощенных запросов) на свою веб-страницу и вызвать этот код JavaScript из приложения Silverlight. Посмотрите пример «CSSilverlightInBrowser» в пакете Facebook C # SDK, метод LoginToFbViaJs в MainPage.xaml.cs в этом примере делает запрос на вход через javascript.

...