Фриендирование между тестовыми пользователями через API, похоже, не работает - PullRequest
0 голосов
/ 06 декабря 2011

Я создал группу тестовых пользователей и теперь пытаюсь программно подружить их друг с другом с помощью PHP Facebook API.Ниже приведен пример кода между F1 и F2.

$b = $fb->api("/" . $f1['id'] . "/friends/" . $f2['id'] . "/?method=post&access_token=" . urlencode($a[1]));
$b = $fb->api("/" . $f2['id'] . "/friends/" . $f1['id'] . "/?method=post&access_token=" . urlencode($a[1]));

Я проверил значение идентификаторов, и токен доступа к приложению правильный.$ b установлен в массив с пустым элементом data.Я ожидал, что истина / ложь основаны на документации.

Когда я вхожу в систему как F1 или F2, ни один из них не показывает друзей.Есть идеи, что я делаю не так?

Спасибо!

1 Ответ

0 голосов
/ 08 декабря 2011

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

$fb->setAccessToken($f1['access_token']);
$b = $fb->api('/'.$f1['id'].'/friends/'.$f2['id'], "POST");
$fb->setAccessToken($f2['access_token']);
$b = $fb->api('/'.$f2['id'].'/friends/'.$f1['id'], "POST");

Это противоречило документации Facebook, в которой говорится, что токен доступа к приложению будет работать. В настоящее время обратите внимание, что вам нужно обработать исключение 522, когда пользователи уже являются друзьями.

Вы можете заполучить текущих друзей пользователя, а не добавить их в друзья:

//Could avoid checking members of this list:
$fb->setAccessToken($f1['access_token']);
$current_friends = $fb->api('/'.$f1['id'].'/friends', "GET");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...