我在这里遇到过一些问题同样问题,但现在可能已经过时了。
我只是想查询Graph API以通过电子邮件地址搜索用户。我一直在努力:
https://graph.facebook.com/search?q={EMAIL}&type=user&access_token=***
但是这会返回错误:
{
"error": {
"message": "(#200) Must have a valid access_token to access this endpoint",
"type": "OAuthException",
"code": 200
}
}
这不再受支持吗?如果我只是搜索名称而不是电子邮件,那么它可以正常工作。
答案 0 :(得分:0)
不幸的是,几个月前,这种行为似乎已从Facebook API中删除。以下是11月初的相关问题:
答案 1 :(得分:0)
这无论如何都不是一个完美的解决方案,但它可能总比没有好。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://www.facebook.com/search.php?q=".rawurlencode($email));
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.73.11 (KHTML, like Gecko) Version/7.0.1 Safari/537.73.11');
$response = curl_exec($ch);
$response = html_entity_decode($response);
$response = explode(',"id":', $response);
$id = $response[1];
$id = substr($id, 0, strpos($id, ',')); //FB ID of the first person in the results.
它似乎返回的结果远远少于图搜索,但它适用于很多人,假设他们的隐私设置没有被提升。