Я пытаюсь открыть диалоговое окно Facebook, однако по причинам, которые я не понимаю, пока оно не работает.
Этот код работал: (Я немного его почистил, чтобы улучшитьпроиллюстрировать проблему)
window.fbAsyncInit = function() {
// get settings...
$app_id = Drupal.settings.gdp_general.appid;
$channel_url = Drupal.settings.gdp_general.channel_url;
// init Facebook api
FB.init({
appId : $app_id, // App ID
channelURL : $channel_url, // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
oauth : true, // enable OAuth 2.0
xfbml : true // parse XFBML
});
};
// login the user and ask for the required permissions.
FB.login(function(response) {
if (response.authResponse) {
FB.api('/me', function(response) {
// do some stuff with the retrieved data
// ....
// now post something on the users wall
FB.api('/me/feed', 'post', {
caption: $title,
message: $description,
link: $url
}, function(response) {
if (!response || response.error) {
// error
} else {
// post was succesfull
$form.submit();
}
});
});
} else {
//error
}
}, {scope: 'email, publish_stream'});
};
Эта публикация сообщения на стене пользователя, и отлично работает.Однако я думаю, что для пользователя было бы лучше открыть диалоговое окно, чтобы он мог видеть, что будет размещено на его стене.
Но когда я изменю
FB.api('/me/feed', 'post', {
на
FB.ui({method: 'feed',
Это больше не работает, и Facebook возвращает сообщение об ошибке «Сообщение об ошибке: у сеансового ключа нет соответствующего пользователя».