Отправка «Запросов приложений» нескольким получателям с использованием Graph API

#php #facebook-graph-api #facebook-php-sdk

#php #facebook-graph-api #facebook-php-sdk

Вопрос:

Я использую новые запросы Facebook без проблем, которые позволяют отправлять пользовательские запросы нескольким предварительно выбранным друзьям, используя свойство «кому» в методе FB.ui ():

 Fb.ui({
    method: 'apprequests', 
    message: '...', 
    to: 'uid1,uid2,uid3,...'
}, cb);
  

Мне интересно, как я могу аналогичным образом отправить запрос, созданный приложением, нескольким получателям в одном вызове API. В документе Facebook показан следующий пример отправки запроса, сгенерированного приложением, одному получателю через Graph API:

 <?php 

  $app_id = YOUR_APP_ID;
  $app_secret = YOUR_APP_SECRET;

  $token_url = "https://graph.facebook.com/oauth/access_token?" .
    "client_id=" . $app_id .
    "amp;client_secret=" . $app_secret .
    "amp;grant_type=client_credentials";

  $app_access_token = file_get_contents($token_url);

  $user_id = THE_CURRENT_USER_ID;

  $apprequest_url ="https://graph.facebook.com/" .
    $user_id .
    "/apprequests?message='INSERT_UT8_STRING_MSG'" . 
    "amp;data='INSERT_STRING_DATA'amp;"  .   
    $app_access_token . "amp;method=post";

  $result = file_get_contents($apprequest_url);
  echo("App Request sent?", $result);
?>
  

Однако есть ли способ отправить запрос, созданный приложением, нескольким получателям через graph api?

Я понимаю, что то, чего я пытаюсь достичь, можно выполнить с помощью пакетной обработки, но я хотел бы знать, есть ли более практичный способ отправки запроса, сгенерированного приложением, нескольким получателям, эквивалентный тому, как работает FB.ui({‘method’, ‘apprequests’, …})?

Ответ №1:

Вы можете использовать параметр запроса ids

например. ids= userid1, userid2

 $apprequest_url ="https://graph.facebook.com/" .
        "/apprequests?ids=USERID_1,USERID_2,USERID_3" .
        "amp;message='INSERT_UT8_STRING_MSG'" . 
        "amp;data='INSERT_STRING_DATA'amp;"  .   
        $app_access_token . "amp;method=post";
  

Комментарии:

1. Вау! Большое спасибо, Джон, я действительно этого не ожидал. Один быстрый вопрос, вы знаете, каково максимальное количество получателей? Это 50 похоже на диалоговое окно запросов?

2. когда я попробовал вышеуказанный запрос в Android, я получаю сообщение об ошибке «Все пользователи в идентификаторах параметров должны были принять TOS». можете ли вы мне помочь.