【发布时间】:2018-05-04 19:10:09
【问题描述】:
我在客户端使用带有标准 Facebook 登录按钮的 Facebook Javascript SDK。当用户单击按钮时,我会从 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": "请求无效,因为应用被配置为桌面应用", “类型”:“OAuthException”, “代码”:1, “fbtrace_id”:“EG0HGBcdrvg” } }
另一个请求结果是
Facebook\Http\GraphRawResponse 对象 ( [标题:受保护] => 数组 ( [WWW-Authenticate] => OAuth "Facebook Platform" "invalid_request" "(#100) 您必须提供应用访问令牌或作为应用所有者或开发者的用户访问令牌" [访问控制允许来源] => * [Pragma] => 无缓存 [缓存控制] => 无存储 [x-fb-rev] => 2873744 [内容类型] => 应用程序/json;字符集=UTF-8 [x-fb-trace-id] => HvnaZakHHGX [facebook-api-version] => v2.2 [过期] => 2000 年 1 月 1 日星期六 00:00:00 GMT [变化] => 接受编码 [X-FB-调试] => u2RDExwRJf06OIGbpCplHs5ZE2tQdUlWZDEFxJF0vWMcbt681uDHu/FLpewEfddPnyyBr4L/QwtxL2t+Sip9uw== [日期] => 2017 年 3 月 7 日星期二 12:52:51 GMT [传输编码] => 分块 [连接] => 保持活动状态 ) [body:protected] => {"error":{"message":"(#100) 您必须提供应用访问令牌或作为应用所有者或开发者的用户访问令牌","type":" OAuthException","code":100,"fbtrace_id":"HvnaZakHHGX"}} [httpResponseCode:protected] => 400 )
【问题讨论】:
-
在验证有关用户的任何信息之前,您需要correct your Facebook Developers settings。
-
JS SDK 和 PHP SDK 可以通过您的域下设置的 cookie 进行交互。查看developers.facebook.com/docs/php/howto/… 的简单示例,了解如何获取通过 PHP 中的客户端登录创建的访问令牌。
-
感谢您的帮助
标签: php facebook facebook-graph-api