Публикация на нескольких стенах друзей с помощью FB graph API

У меня есть этот код:

       function graphStreamPublish(){


var params = {};
params['message'] = '';
params['name'] = '';
params['description'] = '';
params['link'] = '';
params['picture'] = '';
params['caption'] = '';

FB.api('/me/feed',  'post', params, function(response) {
  if (!response || response.error) {
   alert('Error occured');
  } else { }

который отлично работает и публикуется на моей стене или стене моего друга, когда я меняю /me/feed на /MY_FRIENDS_ID/feed

Но я хочу отправить сообщение 25 друзьям одновременно (одним щелчком мыши), случайным образом выбрав идентификаторы моих друзей.

Есть ли какой-нибудь PHP-код или что-нибудь, что может это сделать? Например, получить доступ и извлечь идентификаторы моих друзей в какой-то файл, а затем поместить их в код /FRIENDS_ID/feed?

Извините за мой английский. Я только вчера начал изучать приложения для Facebook, извините, если я звучу слишком по-дилетантски.

Я слышал, что есть какой-то php-код под названием «цикл», и он работает... Пожалуйста, если кто-нибудь может мне помочь. Я был бы признателен, что!


person Jag    schedule 22.01.2011    source источник
comment
Ну, на самом деле вы ответили на свой вопрос, если честно. Если вам нужна помощь с PHP, возможно, вам лучше опубликовать вопрос в разделе PHP. Вызов Graph API в случае PHP такой же, как тот, который вы используете — для удобства вы можете использовать SDK github.com/facebook/php-sdk   -  person Bartek    schedule 24.01.2011
comment
Бартек, спасибо за ответ, но это мне мало помогает :( Весь мой код находится в JavaScript SDK и в моем файле index.html. Мне хотелось бы знать, могу ли я каким-то образом манипулировать строкой кода FRIEND_ID: '/FRIEND_ID /feed", добавив переменную php вместо одного идентификатора и случайным образом автоматически выбрав идентификаторы моих 25 друзей и POST. Я нашел 2 способа отображения списка друзей с помощью FB.api('/me/friends' и FB .api({ method: 'friends.get' }, может быть, есть какой-нибудь способ объединить эти два вместе? Получить идентификаторы друзей и получить их в строке '/FRIEND_ID/feed'? Надеюсь, теперь я понял.   -  person Jag    schedule 25.01.2011


Ответы (1)


Во-первых, вы можете получить идентификаторы всех друзей с помощью API. Затем вы можете выбрать 25 случайных индексов из этого массива.

Вот пример того, как это сделать: Получение случайного значения из массива JavaScript

Затем вы можете перебирать (случайно) выбранные индексы, и для каждой итерации вы можете выполнять вызов FB.api.

graphStreamPublish может принимать один параметр, который является идентификатором человека, на чью стену вы хотите опубликовать, поэтому он может выглядеть примерно так:

function graphStreamPublish(targetID) {

    var params = {};
    params['message'] = '';
    params['name'] = '';
    params['description'] = '';
    params['link'] = '';
    params['picture'] = '';
    params['caption'] = '';

    FB.api('/' + targetID +'/feed',  'post', params, function(response) {
        if (!response || response.error) {
            alert('Error occured');
        } else {});

Кроме того, я думаю, что объект params также может быть отправлен в качестве параметра.

И, наконец, вот как эта функция выглядела бы в упомянутом контексте:

for(i = 0; i < selectedFriendIDs.length; i++)
    graphStreamPublish(selectedFriendIDs[i]);

Надеюсь это поможет. Хорошего дня!

person Romi Halasz    schedule 19.10.2012