почему параметр exclude_ids не работает в приглашении Facebook? - PullRequest
0 голосов
/ 16 сентября 2011

это мой код приглашения:

<?php 
$app_id = "12345678910112";
$canvas_page = "http://apps.facebook.com/apppage/";       

$con = new mysqli("localhost","username","password","dbname") or die(mysqli_connect_error()); 
$SQL=mysqli_query($con,"select the already invited friends");

$exclude_ids="";

while($row = mysqli_fetch_assoc($SQL))
{
$exclude_ids=$exclude_ids . "," . $row['inviteduserid']  ; 
}

mysqli_free_result($SQL);
mysqli_close($con);
// now the $exclude_ids will look like this 12321324,54621321,465498631,23184641  

$message = "join this cool app";
$filters = array('app_non_users');
$requests_url = "https://www.facebook.com/dialog/apprequests?app_id=" . $app_id 
. "&redirect_uri=" . urlencode($canvas_page) 
. "&message=" . $message 
. "&filters=" . json_encode($filters) 
. "&max_recipients=25" 
. "&exclude_ids=" . $exclude_ids;

?>

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

Ответы [ 2 ]

0 голосов
/ 17 сентября 2011

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

0 голосов
/ 17 сентября 2011

Замечание о построении разделенных запятыми строк: стало намного проще, если вы сначала поместите их в массив.

$excludeIdArr=[];
$excludeIdStr="";

while($row = mysqli_fetch_assoc($SQL))
{
    $excludeIdArr[]=$row['inviteduserid']; 
}

$excludeIdStr = implode(",",$excludeIdsArr);

В начале списка идентификаторов у вас была лишняя запятая...

Кроме того ... В документации диалога запросов сказано, что параметр exclude_ids принимает массив.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...