2013-05-10 3 views
0

Я пытаюсь использовать этот сайт https://www.oneall.com/, чтобы добавить социальный вход на тестовый сайт. После настройки кода и логина я до сих пор не знаю, как извлекать данные пользователя из токена доступа. Вот ссылка я получаю:Извлечь данные facebook из токена доступа

http://MYACCOUNT.api.oneall.com/socialize/redirect.html?provider_connection_token=ACCESS ЗНАК ЗДЕСЬ

Я получаю этот код обратного вызова страницы, как этот

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 
    { 
    } 

    } 
    } 
    } 
} 

мне нужно, чтобы узнать, как извлечь данные в настоящее время и небольшой пример об извлечении имя пользователя по этому коду.

+0

Я использую другой PHP-код для извлечения и получить маркер доступа пользовательских данных ,,, Вы хотите мне отправить его или вам нужно обновление в вашем коде? –

+0

Цель использования onella.com заключается в том, чтобы предоставить возможность входа в несколько сетей, поэтому, если вы разместите свой код, который будет отличным, и если вы также обновите мой код, я буду очень благодарен вам, если вы не возражаете. Спасибо за ваш ответ. –

ответ

-1

Как только вы получаете токен пользователя, вам необходимо сделать вызов API в Facebook, например. https://graph.facebook.com/me/?access_token={$access_token}

Если $access_token верен, Facebook должен вернуть данные пользователя, включая имя, имя пользователя и любые другие детали, о которых вы просили.

+0

вот тестовая страница Надеюсь, вы попробуете это http://www.mawk3y.net/glogin/onella.php Я получаю токен доступа, но facebook говорит мне, что это неправильно (onella.come - это источник, который отправляет мне токен доступа) –

+0

Я немного изменил приведенный выше код, чтобы получить токен пользователя вместо токена подключения $ user_token = $ data-> user-> user_token; echo "user:". $ User_token; , а затем используйте код https://graph.facebook.com/me/?access_token={code здесь} , но я получаю сообщение ":" Недействительный токен доступа OAuth проверьте, пожалуйста, http: //www.mawk3y .net/glogin/onella.php –

+0

Вы уверены, что используете здесь access_token, а не код, который вам дает Facebook, который нужно обменять на access_token? –

1

Вы можете использовать маркер доступа, чтобы получить сведения о соединении с oneall используя их апи

Вы используете connection_token, чтобы получить сведения о соединении (в том числе данные профиля Facebook пользователя).

пример http://MYACCOUNT.api.oneall.com/connections/ACCESS ЗНАК HERE.json - >> для JSon отформатированные данные

oneall docs

Смежные вопросы