0

我正在尝试使用此站点https://www.oneall.com/将社交登录添加到测试站点。设置代码和登录后,我仍然不知道如何从访问令牌中提取用户数据。这是我得到的链接:

http://MYACCOUNT.api.oneall.com/socialize/redirect.html?provider_connection_token=在这里访问令牌

我通过这样的回调页面获取此代码

if ( ! empty ($_POST['connection_token']))
{
echo "Connection token received: ".$_POST['connection_token'];
}
else
{
echo "No connection token received";
}
if ( ! empty ($_POST['connection_token']))
{
$token = $_POST['connection_token'];
$site_subdomain = 'myaccountname';
$site_public_key = 'public key';
$site_private_key = 'private key';
$site_domain = $site_subdomain.'.api.oneall.com';
$resource_uri = 'https://'.$site_domain.'/connections/'.$token .'.json';
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $resource_uri);
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_USERPWD, $site_public_key . ":" . $site_private_key);
curl_setopt($curl, CURLOPT_TIMEOUT, 15);
curl_setopt($curl, CURLOPT_VERBOSE, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 1);
curl_setopt($curl, CURLOPT_FAILONERROR, 0);
 $result_json = curl_exec($curl);
if ($result_json === false)
{
echo 'Curl error: ' . curl_error($curl). '<br />';
echo 'Curl info: ' . curl_getinfo($curl). '<br />';
curl_close($curl);
}
else
{
curl_close($curl);
$json = json_decode ($result_json);
 $data = $json->response->result->data;
 if ($data->plugin->key == 'social_login')
{
  if ($data->plugin->data->status == 'success')
  {
    $user_token = $data->user->user_token;

    $user_id = GetUserIdForUserToken($user_token);

    if ($user_id === null)
    {
      LinkUserTokenToUserId ($user_token, $user_id);
    }
    else
    {
    }

    }
   }
  }
}

我现在需要学习如何提取数据和一个关于通过这段代码提取用户名的小例子。

4

2 回答 2

1

您可以使用访问令牌从 oneall 使用他们的 api 获取连接详细信息

您使用 connection_token 获取连接详细信息(包括用户的 Facebook 个人资料数据)。

例子 http://MYACCOUNT.api.oneall.com/connections/ACCESS TOKEN HERE.json -->>对于 json 格式的数据

一个文档

于 2013-11-15T10:01:28.390 回答
-1

获得用户令牌后,您需要对 Facebook 进行 API 调用,例如https://graph.facebook.com/me/?access_token={$access_token}

如果$access_token正确,Facebook 应返回用户的详细信息,包括姓名、用户名和您要求的任何其他详细信息。

于 2013-05-10T13:44:43.290 回答