Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何检查facebook id是否有效_Php_Facebook - Fatal编程技术网

Php 如何检查facebook id是否有效

Php 如何检查facebook id是否有效,php,facebook,Php,Facebook,我有一个脚本,它将生成像1000089838938这样的随机数,但我需要一个解决方案来检查生成的数字是否与有效的facebook帐户关联 我正在寻找的解决方案应该是PHP 谢谢。很简单: 只需从php调用curl,即可: https://graph.facebook.com/1457691266/ 将其替换为任何ID-100008983938 如果您在响应中获得json,则ID有效,否则您将获得不受支持的get请求。:) 希望有帮助。一个解决方案是在通过图形API生成ID后检查ID http:

我有一个脚本,它将生成像1000089838938这样的随机数,但我需要一个解决方案来检查生成的数字是否与有效的facebook帐户关联

我正在寻找的解决方案应该是PHP

谢谢。

很简单:

只需从php调用curl,即可:

https://graph.facebook.com/1457691266/
将其替换为任何ID-100008983938

如果您在响应中获得json,则ID有效,否则您将获得不受支持的get请求。:)


希望有帮助。

一个解决方案是在通过图形API生成ID后检查ID

http://graph.facebook.com/[ID]
不管生成了什么ID,都将其放在URL的末尾,并检查收到的响应。就像ID是1303834107一样

您可以检查@
http://graph.facebook.com/1303834107

如果它是正确的,则响应如下:

{
  "id": "1303834107",
  "name": "John Flake",
  "first_name": "John",
  "last_name": "Flake",
  "link": "https://www.facebook.com/john.flake",
  "username": "john.flake",
  "gender": "male",
  "locale": "en_US"
}
{
 "error": 
  {
  "message": "Unsupported get request.",
  "type": "GraphMethodException",
  "code": 100
  }
}
或者,如果该ID无效,您将得到如下结果:

{
  "id": "1303834107",
  "name": "John Flake",
  "first_name": "John",
  "last_name": "Flake",
  "link": "https://www.facebook.com/john.flake",
  "username": "john.flake",
  "gender": "male",
  "locale": "en_US"
}
{
 "error": 
  {
  "message": "Unsupported get request.",
  "type": "GraphMethodException",
  "code": 100
  }
}
根据响应,您可以验证该ID

每次生成ID时,使用php curl调用API URL以检查响应。

您可以这样做

$url = get_data("https://graph.facebook.com/+".$id."'");
$id = json_decode($url, true);
$id = $id['data'][0]['username'];

$id为您提供发布id的用户名。

您是否可以点击graph api,查看它是否返回有效数据(即,没有错误页面或只有“false”一词的页面)?您首先为什么要生成该数字?目前为止的所有答案都建议使用id点击api,但我认为您不会得到响应(或者只是非常有用的响应)“不受支持的获取请求”消息),适用于已完全禁用应用程序的用户,因为它们对应用程序根本不“可见”。(您到底需要它做什么,我还在想?“请求此资源需要访问令牌。”“请求此资源需要访问令牌。”