Используйте форму HTML, чтобы взять данные и опубликовать их на стене Facebook - PullRequest
0 голосов
/ 16 марта 2011

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

Я уже настроил разрешение publish_stream и могу легко публиковать в поток, используя метод, показанный здесь: Пример

Однако, если вы используете форму HTML и нажимаетеподтвердите, страница перезагрузится и пройдет процесс получения токена.Это приводит к некоторой повторной маршрутизации, которая приводит к потере данных в $ _REQUEST.

Есть ли способ сделать это?

Спасибо.

1 Ответ

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

Да, дорогой, вы можете использовать его, используя скрипт Java.

<textarea id="status" cols="50" rows="5">Write your status here and click 'Status Set Using Legacy Api Call'</textarea>
<br />
<a href="#" onClick="setStatus(); return false;">Status Set Using JSDK Call</a>
<script type="text/javascript">
            window.fbAsyncInit = function() {
                FB.init({appId: 'Your APPI ID', status: true, cookie: true, xfbml: true});

                /* All the events registered */
                FB.Event.subscribe('auth.login', function(response) {
                    // do something with response
                    //login();
                });
                FB.Event.subscribe('auth.logout', function(response) {
                    // do something with response
                    //logout();
                });

                FB.getLoginStatus(function(response) {
                    if (response.session) {
                        // logged in and connected user, someone you know
                       // login();
                    }
                });
            };
            (function() {
                var e = document.createElement('script');
                e.type = 'text/javascript';
                e.src = document.location.protocol +
                    '//connect.facebook.net/en_US/all.js';
                e.async = true;
                document.getElementById('fb-root').appendChild(e);
            }());
function setStatus(){
                status1 = document.getElementById('status').value;
                FB.api(
                  {
                    method: 'status.set',
                    status: status1
                  },
                  function(response) {
                    if (response == 0){
                        alert('Your facebook status not updated. Give Status Update Permission.');
                    }
                    else{
                        alert('Your facebook status updated');
                    }
                  }
                );
            }
        </script>
...