AccountKIt-Facebook设置一个页面来处理成功的登录并交换访问令牌的授权代码

时间:2018-07-26 06:50:24

标签: facebook-graph-api login account-kit

我已按照accountkit docs所说的所有内容进行操作:

<?php
// Initialize variables
$app_id = '<facebook_app_id>';
$secret = '<account_kit_app_secret>';
$version = '<account_kit_api_version>'; // 'v1.1' for example

// Method to send Get request to url
function doCurl($url) {
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  $data = json_decode(curl_exec($ch), true);
  curl_close($ch);
  return $data;
}

// Exchange authorization code for access token
$token_exchange_url = 'https://graph.accountkit.com/'.$version.'/access_token?'.
  'grant_type=authorization_code'.
  '&code='.$_POST['code'].
  "&access_token=AA|$app_id|$secret";
$data = doCurl($token_exchange_url);
$user_id = $data['id'];
$user_access_token = $data['access_token'];
$refresh_interval = $data['token_refresh_interval_sec'];

// Get Account Kit information
$me_endpoint_url = 'https://graph.accountkit.com/'.$version.'/me?'.
  'access_token='.$user_access_token;
$data = doCurl($me_endpoint_url);
$phone = isset($data['phone']) ? $data['phone']['number'] : '';
$email = isset($data['email']) ? $data['email']['address'] : '';
?>

问题是函数doCurl不返回任何内容,当我尝试var_dump($ data)时,该值为false。

我该怎么办才能了解发生了什么...

1 个答案:

答案 0 :(得分:0)

  1. 我正在使用wamp在本地计算机上进行开发,因此我首先检查了cURL是否已在php上激活
  2. 确认我找了一篇文章以了解如何使用cURL从php发送请求后,我发现this wonderfull tutorial
  3. 阅读后,由于我的返回false,因此我专注于curl_exec返回的结果,并且文章说在那种情况下有错误,我使用命令显示错误可能是什么
  4. 显示的错误是:curl-error-60-ssl-certificate-un-to-to-get-to-local-issuer-certificate
  5. 我在stackoverflow上搜索了解决方案,this question 找到了解决方案。

我的问题解决了。