namespace integration; class MailRu { static function urlOAuth($app_id,$callback,$state=1,$type='code',$scope='mail.imap userinfo',$options = []){ return 'https://oauth.mail.ru/login?client_id='.$app_id.'&response_type='.$type.'&scope='.$scope.'&redirect_uri='.$callback.'&state='.$state; } static function getTokenByCode($code,$app_id,$app_secret,$redirect,$options = []){ $res = null; $url = 'https://oauth.mail.ru/token'; $data = [ 'grant_type' =>'authorization_code', 'code' =>$code, 'redirect_uri' =>$redirect, 'client_id' =>$app_id, 'client_secret' =>$app_secret, /**/ ]; if ($curl = curl_init()){ $user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1309.0 Safari/537.17'; curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER,true); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,0); curl_setopt($curl, CURLOPT_POST,1); curl_setopt($curl, CURLOPT_POSTFIELDS,http_build_query($data)); //* curl_setopt($curl, CURLOPT_USERAGENT,$user_agent); /* curl_setopt($curl, CURLOPT_HEADER,array( 'Content-type: application/x-www-form-urlencoded', 'Authorization: Basic '.base64_encode($app_id.':'.$app_secret), 'User-agent: '.$user_agent, )); /**/ $out = curl_exec($curl); echo '
';
echo var_dump($out);
echo '';
curl_close($curl);
$res = json_decode($out,true);
}
return $res;
}
}