PHP рдПрд╕рдбреАрдХреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдлреЗрд╕рдмреБрдХ рдкреЗрдЬ рдкрд░ рдХреНрд░реЙрд╕-рдкреЛрд╕реНрдЯрд┐рдВрдЧ

рдХрдИ рд╕рд╛рдЗрдЯреЗрдВ рд╕реЛрд╢рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдирдИ рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рддреА рд╣реИрдВ, рдпрд╣ рдлреЗрд╕рдмреБрдХ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛ рд▓рд┐рдпрд╛ рд╣реИ рдФрд░ "рд╕реЗрдЯрд┐рдВрдЧреНрд╕" рдореЗрдиреВ рдЖрдЗрдЯрдо рдХреЗ "рдЙрдиреНрдирдд" рдЯреИрдм рдореЗрдВ OAuth рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЕрдиреБрдордд рдореЗрдЬрдмрд╛рдиреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдо рдлрд╝рдВрдХреНрд╢рди рд╕реЗрд╢рди_рд╕реНрдЯрд╛рд░реНрдЯ () рдХреЗ рд╕рд╛рде рд╕рддреНрд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕реЗ рднреА рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдпрджрд┐ рдпрд╣ рдЕрдХреНрд╖рдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдпрд╣ рддреНрд░реБрдЯрд┐ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдЪрд╛рд▓реВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

error_reporting(E_ALL); ini_set("display_errors", 1); 

рдЗрд╕рдХреЗ рдмрд╛рдж, PHP SDK рд▓рд╛рдЗрдмреНрд░реЗрд░реА (рдЬреЛ github рдкрд░ рд╣реИ) рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ рдФрд░ src рдлреЛрд▓реНрдбрд░ (рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ) рдирд┐рдХрд╛рд▓реЗрдВред рдлрд┐рд░ рдСрдЯреЛрд▓реИрдбрд░ рдХреЗ рд▓рд┐рдП рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред

 require_once __DIR__ . '/_src/autoload.php'; 

рдЕрдм рдлреЗрд╕рдмреБрдХ рдХреНрд▓рд╛рд╕ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдПрдВред

 $fb = new Facebook\Facebook([ 'app_id' => '1234567890123456', //   id  'app_secret' => '12345678901234567890123456789012' //   ]); 

рд╣рдо рд╕рд╣рд╛рдпрдХ рдХреЛ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддреЗ рд╣реИрдВ, рдкреГрд╖реНрда рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЕрдиреБрдорддрд┐рдпрд╛рдБ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред

 $helper = $fb->getRedirectLoginHelper(); //  publish_actions,     ,      $permissions = ['manage_pages','publish_pages']; $loginUrl = $helper->getLoginUrl('url____', $permissions); echo '<a href="' . htmlspecialchars($loginUrl) . '"></a>'; 

рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдлреЗрд╕рдмреБрдХ рд╕рд╛рдЗрдЯ рдкрд░ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЬрд╣рд╛рдВ рдЖрдкрдХреЛ рд▓реЙрдЧ рдЗрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдлрд┐рд░ рдЖрдк getLoginUrl () рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд▓рд┐рдВрдХ рдХрд╛ рдкрд╛рд▓рди рдХрд░реЗрдВрдЧреЗред рдпрд╣рд╛рдВ, рдПрдХ рдмрд╛рд░ рдлрд┐рд░, рдЖрдк рдЙрд╕ рд╕рд╣рд╛рдпрдХ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХреЛ access_token рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдорд┐рд▓рддрд╛ рд╣реИред

 $helper = $fb->getRedirectLoginHelper(); try { $accessToken = $helper->getAccessToken(); } catch(Facebook\Exceptions\FacebookResponseException $e) { echo 'Graph  : ' . $e->getMessage(); exit; } catch(Facebook\Exceptions\FacebookSDKException $e) { echo 'Facebook SDK  : ' . $e->getMessage(); exit; } if (isset($accessToken)) $_SESSION['facebook_access_token'] = (string) $accessToken; elseif ($helper->getError()) exit; 

рдпрджрд┐ рдЖрдк рдЗрд╕ рдЯреЛрдХрди рдХреЗ рд╕рд╛рде рдкреГрд╖реНрда рдкрд░ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ "рдЕрдиреБрдорддрд┐рдпрд╛рдБ рддреНрд░реБрдЯрд┐" рддреНрд░реБрдЯрд┐ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкреГрд╖реНрда рдЯреЛрдХрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдлреЗрд╕рдмреБрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдкреНрд░рд╛рдкреНрдд () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рджреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдкреГрд╖реНрда рдЯреЛрдХрди рдЕрдиреБрд░реЛрдз рдХрд╛ URL, рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдЬрд┐рд╕ рдкреГрд╖реНрда рдкрд░ рдкреЛрд╕реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрд╕рдХрд╛ рдЖрдИрдбреА рдФрд░ рдкрд╣рд▓реЗ рдкреНрд░рд╛рдкреНрдд access_token рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

 try { $response = $fb->get('/id_?fields=access_token', $_SESSION['facebook_access_token']); } catch (Facebook\Exceptions\FacebookResponseException $e) { echo 'Graph  : ' . $e->getMessage(); exit; } catch (Facebook\Exceptions\FacebookSDKException $e) { echo 'Facebook SDK  : ' . $e->getMessage(); exit; } //  echo $response->getGraphNode()['access_token']; 

рдкреНрд░рд╛рдкреНрдд рдЯреЛрдХрди рдХреА рдЕрд╕реАрдорд┐рдд рдЕрд╡рдзрд┐ рд╣реЛрдЧреАред рдбрд┐рдмрдЧрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЯреЛрдХрди рдХреА рдЬрд╛рдирдХрд╛рд░реА рдЙрдкрд▓рдмреНрдз рд╣реИред рдЕрдм рдЖрдк рдПрдХ рд╕рдВрджреЗрд╢ рдкреЛрд╕реНрдЯ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

 $str_page = '/1234567890123456/feed'; $feed = array('message' => ''); try { $response = $fb->post($str_page, $feed, 'access_token_'); } catch (Facebook\Exceptions\FacebookResponseException $e) { echo 'Graph  : ' . $e->getMessage(); exit; } catch (Facebook\Exceptions\FacebookSDKException $e) { echo 'Facebook SDK  : ' . $e->getMessage(); exit; } $graphNode = $response->getGraphNode(); echo ', id: ' . $graphNode['id']; 

рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрдк рдлреЗрд╕рдмреБрдХ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓ рд╕рдХрддреЗ рд╣реИрдВред

 $helper = $fb->getRedirectLoginHelper(); $logoutUrl = $helper->getLogoutUrl($_SESSION['facebook_access_token'], 'url____'); echo '<a href="' . htmlspecialchars($logoutUrl) . '"></a>'; 

Source: https://habr.com/ru/post/hi481482/


All Articles