размещение на стене друга с помощью API Graph - PullRequest
4 голосов
/ 30 марта 2011

Размещение сообщения на стене друга, график API. У меня есть расширенное разрешение publish_stream пользователя, который использует приложение.

код работает, если я хочу опубликовать что-то на моей стене.

есть ли способ опубликовать на стене или отправить сообщение всем друзьям определенного пользователя ??

Пожалуйста, помогите спасибо !!

следующий код, но он не работает.

 $friends = $facebook->api('/me/friends');
    foreach($friends['data'] as $friend){
            $friendsUserId = $friend['id'];
            echo $friendsUserId . "</br>";
            $result = $facebook->api('/$friendsUserId/feed', 'POST', array(                
                    message' => 'Test Message'                ));
            print_r($result);
        }

Ответы [ 5 ]

6 голосов
/ 02 июля 2012

Возможно, это был бы способ сделать это .. (не проверено, но я использую что-то подобное для своего приложения.)

$friends = $facebook->api('/me/friends');

    foreach($friends['data'] as $friend) {
        $facebook->api('/$friend['id']/feed', 'post', array(
                  'message' => 'just a test message',
                  'link' => 'http://site.com',
                  'name' => 'just a test name',
                  'caption' => 'just a test caption',
                  'description' => 'just a test description',
          ));

}

Это использует PHP API .

5 голосов
/ 20 мая 2011

Я только что провел небольшое тестирование, и, имея разрешения пользователя, я действительно мог публиковать сообщения на стенах друзей пользователя через php api:

$facebook->api('/[FRIEND_ID]/feed', 'post', array(
          'message' => 'test message',
          'link' => 'http://google.com',
          'name' => 'test name',
          'caption' => 'test caption',
          'description' => 'test long description',
      ));
3 голосов
/ 01 апреля 2011

Разрешение publish_stream позволяет вам публиковать контент только на той стене конкретного пользователя - вы не можете публиковать на стене всех его друзей.

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

РЕДАКТИРОВАТЬ

Рахул, я пытался вчера вечером войти в систему под своим именем и опубликовать сообщение на стене одного из моих друзей через мое приложение, и на удивление это сработало.У меня сложилось неверное впечатление, что вы не можете этого сделать.Мои извинения.

Но я все еще не могу понять это.Позвольте мне объяснить,

1) I have my real facebook lets call it abc and a test facebook account xyz which I've added as my friend to abc
2) I login into my app using my abc faceboook account and publish a message on the wall of my friend xyz
3) Now I login to facebook.com as abc and it shows on my news feed the message that I published on xyz's wall. When I click on xyz's profile - the message shows up on his wall too. So far so good
4) Now I log out of facebook.com as abc and log back in as xyz. But now I dont see the message that was posted through the app on the wall of xyz.

Я не знаю, есть ли какая-либо задержка, но я ждал 30 минут, но все еще не там.Но он продолжает показывать, когда я захожу как abc.

Я надеюсь, вы понимаете, что я пытаюсь здесь передать.Я использовал тот же кусок кода, что и у вас, так что вы можете попробовать описанные выше сценарии и посмотреть, не испытываете ли вы что-то похожее

Спасибо

0 голосов
/ 16 ноября 2013

$ friends = $ facebook-> api ('/ me / friends');

foreach($friends['data'] as $friend) {
    $facebook->api('/$friend['id']/feed', 'post', array(
              'message' => 'just a test message',
              'link' => 'sample link.com',
              'name' => 'just a test name',
              'caption' => 'just a test caption',
              'description' => 'just a test description',
      ));

} Выше код работает на меня Спасибо за пост

0 голосов
/ 07 апреля 2011

Ответ Гублу близок.

Публикация на стене друга вполне возможна, но с одним предупреждением, сказал, что друг в какой-то момент также прошел диалог «Разрешения». Это означает, что пользователи вашего приложения смогут публиковать сообщения на стене других пользователей вашего приложения.

Я собираюсь дать вам код iPhone, потому что я не знаю php и думаю, что вы поймете суть. Просто замените «меня» UID того, что вы пытаетесь опубликовать, будь то страница или профиль друга.

[_facebook requestWithGraphPath:@"/me/feed" andParams:params andHttpMethod:@"POST" andDelegate:self];

Мне действительно любопытно узнать, даст ли это пользователю возможность публиковать на стене любого, кто использует приложение, а не только его друзей.

...