我经历了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();
答案 0 :(得分:3)
API将是/me/friends
,而不是/me/friendlists
- 并且无需使用用户ID,只需使用/me
。
/me/friendlists
会为您提供好友列表,而不是朋友。确保你了解其中的差异。
此外,当然两个用户都必须使用user_friends
权限授权该应用。