Сообщество IT-специалистов
Ответы на любые вопросы об IT
Профессиональное развитие в IT
Удаленная работа для IT-специалистов
$params = array( 'code' => $_GET['code'], 'redirect_uri' => $this->okAuthFile, 'grant_type' => 'authorization_code', 'client_id' => $this->okAppId, 'client_secret' => $this->okSecretCode, 'scope' => 'GET_EMAIL', ); $url = 'http://api.odnoklassniki.ru/oauth/token.do'; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, urldecode(http_build_query($params))); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); $result = curl_exec($curl); curl_close($curl); $tokenInfo = json_decode($result, true); if (isset($tokenInfo['access_token'])) { if(1){ // Работает $sign = md5("application_key={$this->okPublicKey}format=jsonmethod=users.getCurrentUser".md5("{$tokenInfo['access_token']}{$this->okSecretCode}")); $params = array( 'method' => 'users.getCurrentUser', 'access_token' => $tokenInfo['access_token'], 'application_key' => $this->okPublicKey, 'format' => 'json', 'sig' => $sign, ); $userOk = json_decode(file_get_contents('http://api.odnoklassniki.ru/fb.do?'.urldecode(http_build_query($params))), true); print_r($userOk); // в том числе has_email = 1 } if(0){ // Не работает $sign = md5("application_key={$this->okPublicKey}fields=emailformat=jsonmethod=users.getCurrentUser".md5("{$tokenInfo['access_token']}{$this->okSecretCode}")); $params = array( 'method' => 'users.getCurrentUser', 'access_token' => $tokenInfo['access_token'], 'application_key' => $this->okPublicKey, 'format' => 'json', 'sig' => $sign, 'fields' => 'email', ); $userOk = json_decode(file_get_contents('http://api.odnoklassniki.ru/fb.do?'.urldecode(http_build_query($params))), true); print_r($userOk); //Выдает только uid } }
Вот код: