Facebook Open Graph Аутентификация перед действием - PullRequest
0 голосов
/ 06 марта 2012

По сути, я только начал разрабатывать действие «Открыть график в Facebook» для нашего веб-сайта. Теперь я успешно реализовал действие и объекты Facebook, но я немного застрял здесь, поскольку документация Facebook не показывает много продвинутых примеров.

Я пытаюсь разместить на странице кнопку, которая будет публиковать действие на стене пользователя. Однако в данный момент JavaScript выдает ошибку, если пользователь не вошел в Facebook или не аутентифицировал приложение Facebook.

Используя пример в документации Facebook, это то, что я пока имею на своей странице.

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

Если Facebook вошел в систему, может ли он просто отобразить кнопку «Поделиться», как при использовании приведенного ниже кода.

<script type="text/javascript">
function shareme()
{
FB.api('/me/gradtouch:discover&company=URL','post',
                function(response) {
        if (!response || response.error) {
                alert('Error occured');
        } else {
            alert('Post was successful! Action ID: ' + response.id);
            }
    });
}
</script>

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

1 Ответ

1 голос
/ 06 марта 2012

Существует несколько способов определить, вошел ли пользователь в систему или нет, вероятно, наиболее полезным является подписка на событие 'auth.statusChange'

http://developers.facebook.com/docs/reference/javascript/FB.Event.subscribe/

Это следует вызывать, когда FB sdk завершает инициализацию со статусом пользователя (зарегистрирован ли он в FB, добавили ли они ваше приложение, не вошли ли они вообще .. см .: http://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus/)

Затем вы можете отобразить соответствующую кнопку, и если вам нужен пользователь для входа в систему, просто вызовите FB.login () с необходимыми вам разрешениями, и ваш обработчик событий должен быть вызван снова, если их статус входа в систему изменяется (т. Е. Если они выберите, чтобы добавить приложение.)

...