Согласно документации вы можете публиковать сообщения на стене друзей пользователя, если этот пользователь предоставил вам разрешение * publish_stream *:
publish_stream
Позволяет вашему приложению публиковать контент, комментарии и лайки в потоке пользователя и в потоках друзей пользователя .
В некоторых случаях выне сможет этого сделать, например, если какой-либо пользователь заблокировал ваше приложение, то, я думаю, оно не получится, если вы попытаетесь, поэтому вам нужно просто проверить ответ, полученный вами от Facebook, на запрос API и посмотреть, сработало ли оно или нет..
Редактировать
Насколько я знаю, вы не можете спрашивать API (ни через fql) "может ли мое приложение публиковать на стене этого пользователя", вы можете только спросить"предоставил ли этот пользователь моему приложению разрешение publish_stream".
Если я пойму, что вы хотите, у меня может быть решение для вас.Я говорю показать пользователю возможность публиковать на стене друзей.Когда пользователь выбирает эту опцию, попробуйте опубликовать на стене друзей (и я предполагаю, что вы используете ajax для этого вызова), если он не сможет вернуть какой-то код, то на стороне клиента проверьте этот код, если он возвращает, используйтеjavascript sdk, чтобы открыть диалоговое окно.
У вас есть два варианта для диалогов, вы можете использовать Feed Dialog , например:
var obj = {
method: 'feed',
to: "FRIEND_ID",
name: 'A message',
caption: 'Just trying something',
description: 'This is how to post on a friends wall'
};
FB.ui(obj, function(response) { console.log(response); });
Или вы можете использовать Отправить диалог :
FB.ui({
method: 'send',
to: "FRIEND_ID",
name: 'A message',
link: 'LINK_URL',
});
С этим, хотя вы должны опубликовать ссылку, я не уверен, что это работает для вас.После того, как вы попробовали и потерпели неудачу для пользователя, вы можете сохранить эти данные и использовать их позже.