关于升级到Facebook平台v2.2的问题,特别是这部分:
之前已弃用的REST API已完全删除 v2.1,所有仍在使用它的应用程序必须迁移到使用Graph API。
在大多数情况下,在我的Android和iOS应用程序中,我没有使用REST API。我使用的是Android SDK和iOS SDK。但是,我有一个例外。当我呼叫我的服务器登录或基本上做任何事情时,我试图确保尝试登录/访问数据的人确实是他们所说的人。我这样做:
$context = stream_context_create(array('http' => array('header'=>'Connection: close\r\n')));
$response = file_get_contents("https://graph.facebook.com/debug_token?input_token=".$accessToken."&access_token=MY_APP_ACCESS_TOKEN", false, $context);
$jsonObject = json_decode($response, true);
$data = $jsonObject["data"];
$facebookId = $this->getFacebookId();
if(isset($data['is_valid']) && $data['is_valid'] === true) {
if(isset($data['user_id'])) {
if($data['user_id'] == $facebookId) {
return true;
那里缺少一些代码,但这是它的要点。获取访问令牌和Facebook ID。我使用访问令牌来查看它是否合法,分配给该访问令牌的user_id是尝试获取信息的人的ID。如果是这样,我让他们进去。
我的问题是,我是否正确理解这种情况已经消失,我必须使用Graph API以某种方式做同样的事情?如果从Android / iOS获得访问令牌和Facebook ID,通过PHP中的Graph API如何完成?
编辑:刚刚意识到这实际上是在2.0到2.1部分,但问题仍然存在,我应该关注我的服务器端代码吗?谢谢!
答案 0 :(得分:0)
我想我没有什么可担心的。我正在使用的方法是在Facebook平台文档中:
https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow/v2.2#checktoken
检查访问令牌。此页面上没有任何内容说明它被弃用。