Проверьте, может ли пользователь писать на стене друга - PullRequest
0 голосов
/ 28 февраля 2012

Есть ли способ проверить в PHP SDK, может ли пользователь писать на стене своего друга?

Пример:

if ($facebook_can_write_to->'123456789') echo "You can write on this friend's Wall";

Ответы [ 2 ]

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

Используя таблицу FQL (http://developers.facebook.com/docs/reference/fql/user/)), вы можете проверить, может ли текущий пользователь публиковать сообщения на стене друзей, загрузив информацию о пользователе друга, в частности, поле can_post.

can_post bool Может ли зритель публиковать сообщения на стене пользователя.

0 голосов
/ 28 февраля 2012

Согласно документации вы можете публиковать сообщения на стене друзей пользователя, если этот пользователь предоставил вам разрешение * 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',
});

С этим, хотя вы должны опубликовать ссылку, я не уверен, что это работает для вас.После того, как вы попробовали и потерпели неудачу для пользователя, вы можете сохранить эти данные и использовать их позже.

...