как получить идентификатор пользователя в диалоге запроса facebook - PullRequest
2 голосов
/ 24 ноября 2011

Что я хочу сделать, это получить идентификатор запроса и вставить в мою базу данных.Мой диалог запроса работает нормально, но проблема в том, что я не могу получить идентификатор пользователя 'TO' http://developers.facebook.com/docs/reference/dialogs/requests/, но я все еще не могу получить идентификатор пользователя запроса.

вот моя кодировка:

         function newInvite(){
            //var user_ids = document.getElementsByName("user_ids")[0].value;
           FB.ui({ 
                    method : 'apprequests',
                    title: 'X-MATCH',
                    message: 'Come join US now, having fun here',                       
            },                      
            function getMultipleRequests(requestIds) {
              FB.api('', {"ids": requestIds }, function(response) {
                console.log(response);
              });
            }                   
            );
        }

какое-нибудь решение по этому поводу?

миллионов спасибо за помощь

1 Ответ

4 голосов
/ 24 ноября 2011

Вы включили эффективный запрос 2.0?

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

{
    request: ‘request_id’
    to:[array of user_ids]
}

В функции обратного вызова вы можете использовать

response.request для получения идентификатора запроса

response.to для получения массива идентификаторов пользователей

И обратите внимание, что если вы используете запрос 2.0, формат идентификатора запроса будет выглядеть так:

<request_object_id>_<user_id>

Если вы не включите его, то вы можете получить только массив идентификаторов запросов и вам нужно сделать еще один вызов API для получения идентификатора пользователя

Отредактировано:

FB.ui({
        method : "apprequests",
        title : "your title",
        message : "your msg"
      },
      function(response)  {
          var receiverIDs;
          if (response.request)  {
              var receiverIDs = response.to;  // receiverIDs is an array holding all user ids
          }
      }
);

Затем вы можете использовать массив "receiveIDs" для дальнейшей обработки

Например, я отправил запрос на идентификатор пользователя с идентификатором "1234", "5678"

Ответ будет таким:

{
    request: ‘1234567890’   // example,
    to:['1234', '5678'] 
}

В запросе 2.0 полный идентификатор запроса будет выглядеть следующим образом

1234567890_1234
1234567890_5678

Осторожно: FB doc скажет вам самостоятельно управлять запросом и удалить его, если вы используете запрос 2.0, не забудьте удалить идентификатор, как указано выше, если вы непосредственно удалите запрос «123456789», все полные идентификаторы запроса с этим префиксом будут удалены.

=============================================== ===================

Если вы не включили запрос 2.0, следуйте коду на странице документа, чтобы узнать, как получить идентификатор пользователя с помощью вызова API

function getMultipleRequests(requestIds) {
  FB.api('', {"ids": requestIds }, function(response) {
    console.log(response);
  });
}

Формат ответа для этих методов следующий:

{
   "id": "[request_id]",
   "application": {
      "name": "[Application Name]",
      "id": "[Application ID]"
   },
   "to": {
      "name": "[Recipient User Name]",
      "id": "[Recipient User ID]"
   },
   "from": {
      "name": "[Sender User ID]",
      "id": "[Sender User Name]"
   },
   "message": "[Request Message]",
   "created_time": "2011-09-12T23:08:47+0000"
}

Вы можете реализовать обратный вызов API-вызова и узнать, кто является получателем, response.to.id

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