Мы пытаемся создать приложение, которое может - по запросу вошедших в систему пользователей с соответствующими благословениями в приложении - отправлять сообщение любому или всем друзьям FB пользователя, заявляя, что им было отправленоgift.
Мы смогли заставить это работать для отправки небольшому количеству друзей этого сообщения в виде настенного поста (уведомления и сообщения недоступны в API).Однако, если число друзей превышает ~ 15, большинство пользователей возвращают OAuthException: (#200) The user hasn't authorized the application to perform this action
.
Этим же пользователям можно отправить сообщение по отдельности или в небольшой группе.Тем не менее, мы ожидаем, что эта функция будет использоваться пользователями с сотнями или даже тысячами друзей.
Документы по API не поступали, тем более что они застряли на полпути между старым и новым интерфейсами Graph.В настоящее время мы используем следующий код (в точности) для выполнения запросов API в PHP при наличии текущего сеанса Facebook с учетными данными нашего пользователя:
$wall_info = $customer->getCustomWallData();
$attachment = array(
'message' => $wall_info['msg'],
'name' => $wall_info['link_title'],
'caption' => $wall_info['link_caption'],
'link' => $CUZ->index,
'description' => '',
'picture' => $CUZ->http . '/uploads/promo_logo/' . $wall_info['filename'],
'actions' => array(
array('name' => 'Get Search', 'link' => 'http://www.google.com')
)
);
foreach($friendStack as $friend_data) {
$friend_fb_id = $friend_data['fb_id'];
$result = $facebook->api("/$friend_fb_id/feed/",'post',$attachment);
}
Кто-нибудь здесь знает:
- Почему это происходит
- Есть ли способ обойти это, чтобы отправить в всех пользователей
- Если так, что этобудет?
Спасибо.