Я пытаюсь получить токен доступа от Facebook с моим (в процессе создания) классом Facebook.Но это говорит мне, что у меня есть «Вы используете несовместимый веб-браузер».Как я могу передать эту ошибку?Я пытался установить http_user_agent, но он не работает.
Спасибо за вашу помощь!
Между тем, я не хочу SDK facebook, я хочу понять все, что я делаю,Это возможно?
$_COOKIE['evo-fbAuth'] = false;
$_SERVER['HTTP_USER_AGENT'] = "Mozilla/5.0 (Windows NT 5.1; rv:10.0.2) Gecko/20100101 Firefox/10.0.2";
class facebook{
private $_appID;
private $_appSECRET;
private $_code = null;
private $_accesstoken = null;
private $_urlAuth = 'https://www.facebook.com/dialog/oauth';
function __construct($appID,$appSECRET){
$this->_appID = $appID;
$this->_appSECRET = $appSECRET;
}
public function fbauth($param){
if(!isset($_GET['code'])){
if(isset($param['redirect_uri']) && isset($param['scope'])){
$urlAuth = $this->_urlAuth;
$urlAuth .= '?client_id='.$this->_appID;
$param['redirect_uri'] = $param['redirect_uri'];
foreach($param as $key => $value){
$urlAuth .= '&'.$key.'='.$value;
}
if(!$this->authCookie()) header('Location: '.$urlAuth);
}else{
return false;
}
}else{
$this->_code = $_GET['code'];
$this->getAccessTok($param);
}
}
private function getAccessTok($param){
if($this->_code !== null){
$urlTok = $this->_urlAuth.'/access_token';
$urlTok .= '?client_id='.$this->_appID;
$urlTok .= '&redirect_uri='.$param['redirect_uri'];
$urlTok .= '&client_secret='.$this->_appSECRET;
$urlTok .= '&code='.$this->_code;
print_r(file_get_contents($urlTok));
}
}
private function authCookie(){
if($_COOKIE['evo-fbAuth'] == true){
return true;
}else{
setcookie('evo-fbAuth',true,600);
return false;
}
}
}
$fb = new facebook('**************','****************************');
$param = array(
'redirect_uri'=>'http://localhost/facebook-auth/MOI_facebook.class.php',
'scope'=>'read_stream,publish_stream,publish_actions,manage_pages,email,user_birthday'
);
$fb->fbauth($param);