Как определить пользователя, который принимает запрос на уведомление - PullRequest
0 голосов
/ 18 января 2012

С новым объектом запроса Facebook назначается только один идентификатор.

Если пользователь приглашает много друзей с помощью поиска нескольких друзей, предоставляется только один идентификатор запроса.

Затем, когда приглашенный пользователь заходит на свою страницу в Facebook и принимает запрос, используется тот же идентификатор запроса.

Теперь я не могу определить, кто этот пользователь, поскольку все приглашенные пользователи имеют одинаковый идентификатор запроса.

Как я могу получить доступ к идентификатору пользователя?

Обновление:

Я понимаю, что должен попросить пользователя авторизовать мое приложение. У меня есть следующий код, чтобы определить, авторизовал ли пользователь мое приложение:

FB.init
          (
              {
                  appId   : "<%=APPLICATION_ID%>",
                  status  : true,
                  cookie  : true,
                  oauth   : true
              }
          );

          FB.getLoginStatus(function(response) {
          if (response.status === 'connected') {
            // the user is logged in and connected to your
            // app, and response.authResponse supplies
            // the user's ID, a valid access token, a signed
            // request, and the time the access token 
            // and signed request each expire
        alert('connected');
            var uid = response.authResponse.userID;
            var accessToken = response.authResponse.accessToken;
        alert(uid)
          } else if (response.status === 'not_authorized') {
            alert('notconnected');
            // the user is logged in to Facebook, 
            //but not connected to the app
        **//here need to get authorization for the application**
          } 
         });

Как мне вызвать диалоговое окно авторизации в Facebook?

1 Ответ

1 голос
/ 18 января 2012

Вы должны попросить его связаться с вашим приложением.

Однако вы можете получить информацию о самом запросе, используя приложение access_token, чтобы знать, что все запросы пользователей были отправлены на ...

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

Обновление:
Вы можете получить удостоверение пользователя, попросив его авторизовать ваше приложение после того, как оно было передано в ваше приложение с пропуском request_id, это можно сделать с помощью OAuth Dialog или FB.login метода JS-SDK (подробнее см. руководство по аутентификации ).

Как заявлено официальными лицами Facebook на BUG # 202883726463009 :

Если разработчику необходимо очистить невыполненный запрос, он может использовать UID, который он получает при отправке запроса, как возвращено в ответном вызове JavaScript или ответе API API Graph. В противном случае запрос, естественно, прекратит работу и будет автоматически очищен.

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