如何验证用户是真正的Facebook用户

时间:2017-03-07 13:07:36

标签: php facebook facebook-graph-api

我正在使用Facebook Javascript SDK从客户端使用标准的Facebook登录按钮。当用户单击按钮时,我从Facebook获得用户ID。后来我在服务器端使用Facebook PHP SDK。我想检查用户ID是否是真实的用户ID。我搜索了一些资源,但我不知道我的方法是正确的。我使用访问令牌。我的链接就是上面的内容。当我发送请求时,我收到错误。客户端ID是我的应用程序ID,客户端密钥是密钥。此外,当我发送curl请求时,我收到错误。我必须使用哪种方法?

HTML代码

<div class="fb-login-button" data-scope="public_profile,email,id" onlogin="checkLoginState()"></div>

我的链接

https://graph.facebook.com/v2.8/oauth/access_token?client_id=1798****&client_secret=efba0a******&grant_type=client_credentials

错误代码

  

{   “错误”:{   “message”:“请求无效,因为该应用已配置为桌面应用”,   “type”:“OAuthException”,   “代码”:1,   “fbtrace_id”:“EG0HGBcdrvg”   }   }

另一个请求结果是

  

Facebook \ Http \ GraphRawResponse对象   (       [headers:protected] =&gt;排列           (               [WWW-Authenticate] =&gt; OAuth“Facebook平台”“invalid_request”“(#100)您必须提供应用访问令牌或用户访问令牌,该令牌是应用的所有者或开发者”               [Access-Control-Allow-Origin] =&gt; *               [Pragma] =&gt;无缓存               [Cache-Control] =&gt;无店铺               [x-fb-rev] =&gt; 2873744               [Content-Type] =&gt;应用/ JSON;字符集= UTF-8               [x-fb-trace-id] =&gt; HvnaZakHHGX               [facebook-api-version] =&gt; V2.2               [Expires] =&gt;周一,2000年1月1日00:00:00 GMT               [Vary] =&gt;接受编码               [X-FB-Debug] =&gt; u2RDExwRJf06OIGbpCplHs5ZE2tQdUlWZDEFxJF0vWMcbt681uDHu / FLpewEfddPnyyBr4L / QwtxL2t + Sip9uw ==               [日期] =&gt; 2017年3月7日星期二12:52:51 GMT               [Transfer-Encoding] =&gt;分块               [连接] =&gt;活着           )   [body:protected] =&gt; {“error”:{“message”:“(#100)您必须提供应用访问令牌或用户访问令牌,该应用访问令牌是应用的所有者或开发者,”“”键入“:”OAuthException“,”code“: 100, “fbtrace_id”: “HvnaZakHHGX”}}       [httpResponseCode:protected] =&gt; 400   )

1 个答案:

答案 0 :(得分:1)

修复错误

The request is invalid because the app is configured as a desktop app您必须重新配置您的应用并关闭&#34;原生或桌面应用&#34;设置(见下文)

enter image description here