如果我有他的用户名,我想检索一个Facebook用户id。这是从图形API弃用,但我想知道一个工作围绕获得id,如果我有用户名。
有一个网站可以做到这一点,但我不知道他们是怎么做到的。
我做了R&D,发现给定的网站不使用API从用户名获取用户id。他们正在使用另一种无效的机制。
我已经找到了一种从用户名中找到用户id的机制。
下面是标识如何从username中查找userid的c#代码。我试着从facebook url中读取HTML。并试图读取元标签下面的用户id
<<p> 元代码/strong><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 "";
}
- 我使用了"htmllagilitypack .dll"来加载html并像XML一样解析它。
- 像下面这样测试调用函数。findUserIdfromUsername("https://facebook.com/USERNAME");
- 我只测试了3-4个url并获得了正确的用户名。 我没有使用任何API来查找USERID。
- 我的英语和舞步都不太好。所以请管理它。