Api Client
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ API ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ Professionali.ru.
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅ΠΉ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ API ΠΈ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ
ΠΌΠ΅ΡΠΎΠ΄Π°Ρ
ΡΠΈΡΠ°ΠΉΡΠ΅ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ., (*1)
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΡΡΠ°Π²ΠΈΡΡΡ ΡΠ΅ΡΠ΅Π· composer:, (*2)
composer.phar require professionali/api-client:1.*
composer.phar update
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅
ΠΡΠΈΠΌΠ΅Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ:, (*3)
session_start();
// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ API ΠΊΠ»ΠΈΠ΅Π½ΡΠ°
$client = new Pro_Api_Client(
APP_CODE, // ΠΊΠΎΠ΄ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
APP_SECRET, // ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΊΠ»ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
$_SESSION['token'],
$_SESSION['expires']
);
// Π Π΅Π΄ΠΈΡΠ΅ΠΊΡ Ρ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΡΠΎΠΊΠ΅Π½ΠΎΠΌ
if (!empty($_GET['code'])) {
$client->getAccessTokenFromCode($_GET['code']);
// Π Π΅Π΄ΠΈΡΠ΅ΠΊΡΠΈΠΌ Π½Π° ΡΠ΅Π±Ρ ΠΆΠ΅, ΡΡΠΎΠ± ΡΠ±ΡΠ°ΡΡ ΠΊΠΎΠ΄ ΠΈΠ· GET ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ°
header('Location: http://'.$_SERVER['HTTP_HOST'], true, 301);
exit;
}
// ΠΠ²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
if (!$client->getAccessToken()) {
header('Location: '.$client->getAuthenticationUrl('http://'.$_SERVER['HTTP_HOST']), true, 301);
exit;
}
// ΠΠ΄Π΅ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΆΠ΅ Π°Π²ΡΠΎΡΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ
echo '
';
echo 'AccessToken: '.$client->getAccessToken()."\n";
echo 'CurrentUser: '.print_r($client->getCurrentUser(), true);
echo '
';
ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π·Π°ΠΏΠΎΡΡΠΎΠ² ΠΊ API:, (*4)
$dialogue = $client->fetch(
Pro_Api_Client::API_HOST.'/v6/users/get.json',
array('ids' => array('me'), 'fields' => 'id,name,link,avatar_big'),
Pro_Api_Client::HTTP_GET
);
echo '<pre>';
echo 'CurrentUser: '.print_r($dialogue->getJsonDecode(), true);
echo '</pre>';