【问题标题】:Get Facebook profile URL from app-scoped user ID从应用范围的用户 ID 获取 Facebook 个人资料 URL
【发布时间】:2014-08-09 14:53:04
【问题描述】:

Facebook 用户的个人资料 URL 是 http://facebook.com/USER_ID。但是,对于应用范围的用户 ID,http://facebook.com/APP_SCOPED_USER_ID 不会重定向到用户的个人资料页面。如何仅使用应用范围内的用户 ID 访问用户的个人资料页面?

【问题讨论】:

标签: facebook facebook-graph-api


【解决方案1】:

可以使用url格式:

http://fb.com/app_scoped_user_id/{app_scoped_user_id}

示例 http://fb.com/app_scoped_user_id/10101640953722381

如果您想从应用范围内的用户 id 获取真实的 Facebook id:https://stackoverflow.com/a/34450491/2181069

【讨论】:

    【解决方案2】:

    测试上述答案:https://www.facebook.com/app_scoped_user_id/{app_scoped_user_id}/ 适用于迁移后连接到您的应用的新用户。

    如 FB 文档中所述,现有连接用户将继续返回全局 ID。而且https://www.facebook.com/app_scoped_user_id/{existing_user_global_id}/ 似乎不起作用。

    因此,需要区分现有用户和新用户,并相应地使用全局 URL (https://www.facebook.com/{user_global_id}) 和应用范围 URL。有点乏味...

    【讨论】:

    • facebook.com\/{user_id} 适用于我的作用域 ID 和全局 ID。 /app_scoped_user_id/{user_id} 确实只适用于范围 ID(与全局 ID 一起使用时返回错误),而 /profile.php?id={user_id} 仅适用于全局 ID 而不是范围 ID。
    【解决方案3】:

    网址 - https://www.facebook.com/app_scoped_user_id/{app_scoped_user_id}/ - 访问受限,一个帐户只能在 Y 时间段内发出 X 请求。

    我确实构建了一个工具来根据应用范围的 uid 抓取 Facebook 的用户名,通过向该范围的 uid 配置文件发出请求,我可以解析重定向标头以找出用户名。

    访问限制让我很烂。 :(

    【讨论】:

    • 是app_id还是ip限制访问?
    • 此时,受当前账户限制。一旦达到限制,我必须切换到另一个帐户,它会没事的。而且由于我不再从事该项目,因此不确定它现在是如何工作的。
    【解决方案4】:

    使用用户对象的link 字段。这将如下所示:

    https://www.facebook.com/app_scoped_user_id/{app_scoped_user_id}/
    

    【讨论】:

    • 这似乎只适用于用户自己的个人资料页面。这是其他用户的个人资料页面的 404 错误。
    • 没关系,我使用的是测试用户,所以链接不起作用。有人可以确认https://www.facebook.com/app_scoped_user_id/{app_scoped_user_id}/ 适用于所有普通用户吗?
    • 你让它工作了吗?我无法让测试用户或普通用户使用该链接。
    • 我得到了其他用户个人资料页面的 404。只有以我身份登录时才能使用此链接。
    • 您从哪里获得 ID?它绝对可以使用 /me,这就是它应该被使用的方式。@Greg
    猜你喜欢
    • 2015-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多