0

новый графический graph graph api делил друзей на Friends & Invitable_friends.пользователи facebook пользователи r не мои друзья но с помощью приложения

me/friends/ возвращает моих друзей, которые используют приложение, а me/invitable_friends/ возвращает только список моих друзей, которые не используют приложение.

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

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

Спасибо.

ответ

0

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

graph.facebook.com/v2.0/

? Идентификаторы = {разделенных запятыми -ids} & access_token = app_access_token & поля = имя, фотография

access_token является обязательным еще граф-API возвращает следующие error-

The global ID xyz is not allowed. Please use the application specific ID instead.

Это будет работать для всех пользователей, прошедших аутентификацию приложения, независимо от даты их аутентификации, но для любого пользователя app-api, отличного от приложения, возвращается выше сообщения об ошибке.

0

Я прошел эту же проблему и решил ее так: когда пользователь запускает ваше приложение по умолчанию, вы запрашиваете разрешение на доступ к его общедоступной информации профиля, которая включает в себя реальный идентификатор, имя и некоторые другие. Вы просто сохраняете данные пользователя (id, имя и т. Д.) В базе данных. Таким образом, вы отслеживаете всех людей, использующих ваше приложение, и они могут взаимодействовать друг с другом.

JavaScript Пример:

window.fbAsyncInit = function() { 
    FB._https = true; 
    console.log('here'); 
    FB.init({ appId: 'xxxxxxxxxxxxxxxx', cookie: true, xfbml: true, oauth: true, version : 'v2.0'}); 
    Login(); 
}; 
function Login() { 
    FB.login(function(response) { 
      if (response.authResponse){ 
      checkUser(); 
      } 
      else{ 
       console.log('User cancelled login or did not fully authorize.'); 
      } 
     } 
    ); 
} 
function checkUser() { 
FB.api('/me', function(response) { 
    $.ajax({ 
     type: "get", 
     url: "cgi-bin/checkUser.cgi", 
     cache: false, 
     data: {"user_name" : response.name, "u_id" : response.id, "link" : response.link}, 
     success: function() //onSuccess, 
     { 
      console.log("user " + response.name + " checked!"); 
     }, 
     error: function() 
     { 
      console.log("Error with server connection on user checking"); 
     } 
    }); 
}); 
} 

Я не знаю, на каком языке вы пишете приложение, но я считаю, что в каждом языке вы должны вызвать функцию «Вход», который запрашивает у пользователя разрешений и в основном получает доступ к информации.

+0

Если ваше приложение было запущено до версии 2.0, вы все равно можете использовать v1.0, но эта функция будет удалена в ближайшее время. Проверьте Редактировать в моем ответе. Этот JS-код в основном отправляет запрос AJAX на серверный скрипт с информацией о пользователе. – DanielLazarov

+0

Ваш подход не подходит для моей цели. Сохранение информации о пользователе FB (например, имя, имя, фотография и т. Д.) В БД не имеет никакого смысла, поскольку любое изменение, внесенное пользователем в его профиль, не будет отражено в DB.I need решение, в котором я могу передать глобальный идентификатор пользователя, графику api v2.0, который не является моим другом, и все же собирать его данные, такие как имя, рис. и т. д. Спасибо за вашу помощь в любом случае :) –

+0

Если ваше приложение имеет пользовательский вы можете просто передать свой ID графику api и просмотреть информацию, к которой у вас есть доступ. И, сохраняя информацию в БД, я не хотел сохранять всю свою информацию, которая доступна через FB api, я имел в виду, что если вы хотите отслеживать людей, использующих ваше приложение, вы можете просто сохранить их идентификатор в БД. Через ID вы можете получить доступ ко всем имеющимся разрешениям для доступа к api. – DanielLazarov