2012-03-06 6 views
0

В принципе, я только что начал разработку для получения действия Facebook Open Graph для нашего сайта. Теперь я успешно реализовал действие Facebook и объекты, но я немного застрял здесь, поскольку документация в Facebook не показывает много передовых примеров.Facebook Open Graph Pre-Action Authentication

Я пытаюсь создать кнопку на странице, которая отправит действие на стену пользователя. Тем не менее, на данный момент 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

Theres несколько способов выявления того, зарегистрирован пользователь или нет, вероятно, наиболее полезным является, чтобы подписаться на события «» 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() с разрешениями y ou need, и ваш обработчик событий должен быть вызван снова, если их статус входа изменится (т. е. если они захотят добавить приложение.)

+0

Спасибо большое! Надеюсь, что я понимаю этот документ, но на быстрый взгляд очень полезен. Ура! – GradTouch