работа с Facebook Api из собственного модуля

Прислано: a-freenomenus@drupal.org

вт, 10/08/2010 - 10:50

Задача:
1) есть форма создания ноды. напичкано много полей через cck. создаётся анонимным пользователем
2) есть кнопка логина в facebook, откуда в форму заполнятся такие поля, как First Name, Last Name, Email итд
3) после отправки формы сохраняется нода, далее перехватываю сохранение и создаю Event в Facebook с данными, которые пришли из формы

Установил модуль Drupal for Facebook (http://drupal.org/project/fb), настроил как в мануале
На страницу с формой добавляю кнопку Facebook Connect следующим образом:
<fb:login-button perms="create_event"></fb:login-button>
Кнопка появляется. Логин происходит.
Далее выдираю через JS Api данные из fb следующим образом:

$(document).ready(function(){ 
	if (FB) {
             FB.Connect.ifUserConnected(
            function() {
                var uid = FB.Connect.get_loggedInUser();
                if (!uid) {
                    return;
                }
 
                FB.Facebook.apiClient.users_getInfo(
                    uid,
                    ['first_name','last_name','email','sex','birthday','username'],
                    function(user, ex) {		
                        /* тут действия с пришедшими данными */
			$('#edit-field-first-0-value').val(user[0].first_name);
                    });
            });	
		}
});

Проблема первая в том, что вставка данных в поля происходит только после повторного нажатия на кнопку Facebook Connect. То есть в первый раз жму кнопку, появляется окно логина, вбивается логин\пароль, окно исчезает, данные не появляются. Жму второй раз кнопку - данные отлично вставляются.

Вторая проблема в обработке пришедшей формы и создании ивента на стороне сервера. Код примерно такой:

	$facebook = new Facebook($api_key, $secret);	
	$uid = $facebook->get_loggedin_user();	
	$event_info = array(
		'name'		 => 'Test Event',
		'description' => 'test',
		'event_type'	 => 1,
		'event_subtype' => 40,
		'start_time' => 1281369174,
		'end_time'	 => 1281370174,		
		'creator'	=> $uid,		
		'location' => ''
	); 
	$facebook->api_client->events_create(json_encode($event_info));

Получаю ошибку создания ивента:
Error message: Requires extended permission: create_event Error code:290
Где этот пермишн выставляется? В кнопке логина он выставлен.

Правильно ли я вообще всё это делаю? Не могу найти нормальной документации по связыванию fb и drupal.

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано igor701 в вт, 10/08/2010 - 20:39.

А если не секрет, чего хотите получить? Писать комментарии авторизованного в FB пользователя без регистрации у вас?


Опубликовано a-freenomenus@d... в ср, 11/08/2010 - 12:53.

"igor701" написал(а):

А если не секрет, чего хотите получить? Писать комментарии авторизованного в FB пользователя без регистрации у вас?

создавать ивент в фейсбуке на странице пользователя.
при отправке формы в drupal создаётся нода и автоматом создаётся новый пользователь. после создания ноды создаётся ивент в фейсбуке.


Опубликовано vinnik2 в вт, 07/09/2010 - 11:03.

Удалось ли решить проблему? И если да, где можно посмотреть?


Опубликовано DDDDD099 в вт, 24/05/2011 - 19:04.

Хороший модуль.


Новое на сайте