You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用react-native-fbsdk实现Facebook登录时如何获取用户个人主页链接

问题原因

你已经正确申请了user_link权限,但调用Facebook Graph API /me端口查询用户信息时,没有在请求字段中明确声明需要返回link字段,Graph API默认仅返回你主动指定的字段,因此即使有权限也无法获取到个人主页链接。

修复方案

1. 修改字段请求参数

找到getInfoFromToken方法中的PROFILE_REQUEST_PARAMS配置,在fields的字符串末尾添加link字段,修改后代码如下:

getInfoFromToken = token => {
    const PROFILE_REQUEST_PARAMS = {
        fields: {
            string: 'id,name,first_name,last_name,email,picture,link',
        },
    };
    const profileRequest = new GraphRequest(
        '/me',
        { token, parameters: PROFILE_REQUEST_PARAMS },
        (error, user) => {
            if (error) {
                console.log('login info has error: ' + error);
            } else {
                this.setState({ userInfo: user }, () => 
                console.log('result:', user);
            }
        },
    );
    new GraphRequestManager().addRequest(profileRequest).start();
};

2. 注意事项

  • 开发模式下,仅应用的管理员、开发者、测试员账号可直接获取link字段,正式上线前需要先在Facebook开发者平台提交user_link权限审核,审核通过后普通用户授权后才能正常返回该字段。
  • 你当前登录时申请的权限列表['email', 'public_profile', 'user_link']配置正确,无需修改。
  • 现有登录逻辑代码中有一处语法笔误,const accessToken = data.accessToken.toString();accessToken);末尾多余的accessToken);可删除,避免运行时报错。

修改完成后重新发起请求,返回的user对象中就会包含link属性,即为用户的Facebook个人主页链接。

内容的提问来源于stack exchange,提问作者Shahanshah Alam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 22:18:02