Facebook GraphAPI友好列表即使在朋友中有注册的应用用户时也总是返回空

时间:2016-08-17 10:47:41

标签: facebook-graph-api firebase firebase-authentication fbsdk react-native-fbsdk

我经历了this问题,但正如大家所说,我甚至没有为注册的应用用户获取frindslist。我总是得到data[]空数组。该应用处于开发模式,我在https://developers.facebook.com/apps/{appid}/roles/中添加了一个管理员和一个测试人员。两位用户都登录了我的应用程序。 GraphAPI仍然只返回空data[]。我做错了什么?我正在使用反应原生fbsdk。以下是我正在使用并获取"Success fetching data: {"data":[]}"

的代码
const { accessToken } = await AccessToken.getCurrentAccessToken();
const facebookCredential = firebaseAuth.FacebookAuthProvider
    .credential(accessToken.toString());

const user = await firebaseAuth().signInWithCredential(facebookCredential);

  const postRequestConfig = {
    httpMethod: 'GET',
    version: 'v2.7',
    accessToken: accessToken.toString()
  };

  const infoRequest = new GraphRequest(
    `/${user.providerData[0].uid}/friendlists`,
    postRequestConfig,
    (error, result) => {
      if (error) {
        alert('Error fetching data: ' + JSON.stringify(error));
      } else {
        alert('Success fetching data: ' + JSON.stringify(result));
      }
    },
  );
  new GraphRequestManager().addRequest(infoRequest).start();

1 个答案:

答案 0 :(得分:3)

API将是/me/friends,而不是/me/friendlists - 并且无需使用用户ID,只需使用/me

/me/friendlists会为您提供好友列表,而不是朋友。确保你了解其中的差异。

此外,当然两个用户都必须使用user_friends权限授权该应用。