【问题标题】:Retrieve facebook user id from the username从用户名中检索 facebook 用户 ID
【发布时间】:2023-03-12 15:40:01
【问题描述】:

如果我有他的用户名,我想检索一个 Facebook 用户 ID。 这已从图形 API 中弃用,但如果我有用户名,我想知道如何获取 id。

有一个 website 可以做到这一点,但我不确定他们是如何做到的。

【问题讨论】:

  • @DocRattie 他只是在问一个问题。如果你没有ans然后离开它。不要试图“粗鲁或冒犯”。
  • @DocRattie:走的路!!!删除粗鲁无礼的评论!对“规则和规章”的一点常识和礼貌对 SO 的价值大有帮助。这个问题是有效的 IMO,因为这里的所有其他答案都表明它不能完成,但是这个网站成功了!
  • 我很想知道那个网站是如何使它成为可能的。因为 facebook 及其图形 api 没有提供任何东西来从用户名中获取用户 ID。
  • @V.J.如果你在你的开发者工具中显示source,你会得到一个提示。
  • 是的,我得到了提示。在浏览器中打开facebook.com/username。请参阅 html 代码。找到“”这个标签。它包含所有的 Facebook 用户名。

标签: php facebook facebook-graph-api facebook-php-sdk


【解决方案1】:

我进行了研发,发现给定的网站没有使用 API 从用户名中获取用户 ID。 他们正在使用另一种无效的机制。

我找到了一种从用户名中查找用户 ID 的机制。

以下是识别如何从用户名中查找用户 ID 的 c# 代码。 我试图从 facebook url 读取 HTML。并尝试读取下面的元标记以识别用户 ID。

元代码

<meta property="al:android:url" content="fb://profile/USERID">

功能

public string findUserIdfromUsername(string facebookURL)
{
    try
    {
        HtmlWeb web = new HtmlWeb();
        HtmlDocument doc = web.Load(facebookURL);

        List<String> keyLst = doc.DocumentNode
                                .SelectSingleNode("//meta[@property='al:android:url']")
                                .Attributes["content"].Value
                                .Split(',').ToList();


        foreach (string strkey in keyLst)
        {
            string[] arrTemp = strkey.Split('/');
            int arrlength = arrTemp.Count();
            string facebookUserID = arrlength > 0 ? (arrTemp[arrlength - 1]) : strkey;
            facebookUserID = facebookUserID.Replace("?id=", "");
            return facebookUserID;
        }
    }
    catch (Exception ex)
    { 

    }
    return "";
}

要求

  1. 我使用“HtmlAgilityPack.dll”来加载 html 并像 XML 一样解析它。
  2. 测试调用如下函数。 findUserIdfromUsername("https://facebook.com/USERNAME");
  3. 我只测试了 3-4 个网址并获得了正确的用户 ID。
  4. 我没有使用任何 API 来查找 USERID。
  5. 我的英语和步数不太好。所以请管理它。

【讨论】:

  • 好的。之后,请发布您对 PHP 的回答。
  • 我几乎完成了代码。但我无法正确匹配模式的代码: 使用 preg_match_all();它需要是这样的: // preg_match_all('', $like_html, $matches);
  • 我对php不熟悉。所以在这种情况下无法帮助你。对不起,伙计。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-06
  • 2013-12-11
  • 2018-03-16
  • 2015-03-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多