2017 © Pedro PelΓ‘ez
 

library fotki

PHP-library for interactions with Yandex.Fotki / PHP рСализация API для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с сСрвисом ЯндСкс.Π€ΠΎΡ‚ΠΊΠΈ

image

yandex/fotki

PHP-library for interactions with Yandex.Fotki / PHP рСализация API для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с сСрвисом ЯндСкс.Π€ΠΎΡ‚ΠΊΠΈ

  • Monday, October 26, 2015
  • by dmkuznetsov
  • Repository
  • 5 Watchers
  • 18 Stars
  • 84 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 13 Forks
  • 3 Open issues
  • 5 Versions
  • 11 % Grown

The README.md

API для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с сСрвисом ЯндСкс.Π€ΠΎΡ‚ΠΊΠΈ

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

$api = new \Yandex\Fotki\Api($login);

// Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° сСрвисного Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ссылки Π½Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ
// ΠΏΡƒΠ½ΠΊΡ‚ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ, Π½ΠΎ Π² ЯндСксС написано, Ρ‡Ρ‚ΠΎ ссылки ΠΌΠΎΠ³ΡƒΡ‚
// ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ
$api->loadServiceDocument()

// АутСнтификация
// ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΎΡ‚ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π° ΠΈΠ»ΠΈ fimp-token
// Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! ΠŸΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ Fimp-Ρ‚ΠΎΠΊΠ΅Π½Π° - ЯндСкс часто ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ 502 ошибкой
try {
    $api->auth($passwordOrToken);
} catch(\Yandex\Fotki\Exception\ServerError $ex) {
    // ЯндСкс ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ» 502. ΠŸΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ снова. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ€Π°Π·Π° с 5 удаСтся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½
} catch(\Yandex\Fotki\Exception\Api\Auth $ex) {
    // Π§Ρ‚ΠΎ-Ρ‚ΠΎ с самой Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ (см. $ex->getMessage())
}

// Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Ρ‚ΠΎΠΊΠ΅Π½ ΠΊΡƒΠ΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ. По Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ - врСмя ΠΆΠΈΠ·Π½ΠΈ Ρ‚ΠΎΠΊΠ΅Π½Π° Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ
$token = $api->getAuth()->getToken();

// ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ альбомов
$collection = $api->getAlbumsCollection()
    ->setLimit(5) // Π»ΠΈΠΌΠΈΡ‚ Π½Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ 5 альбомов
    ->load();
$collection->getList();

// Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° всСй ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ
$collection = $api->getAlbumsCollection()->loadAll();

// ΠŸΠΎΡΡ‚Ρ€Π°Π½ΠΈΡ‡Π½Π°Ρ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ
try {
    $collection = $api->getAlbumsCollection()->load()->next()->next()->next();
} catch(\Yandex\Fotki\Exception\Api\StopIteration $ex) {
    // ΠžΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ постраничной Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ
}

// Бписок альбомов Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ
$albums = $collection->getList();

$album = null;
// ΠŸΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌΡΡ ΠΏΠΎ альбомам ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ (Π±Π΅Ρ€Π΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ попавшийся)
foreach($albums as $id => $item) {
    $album = $item;
    break;
}

// Π Π°Π±ΠΎΡ‚Π° с альбомом - это Ρ€Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ
// ΠΈ ΠΌΠ΅Ρ‚Π°-ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎΠ± альбомС.
// Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ всС Ρ„ΠΎΡ‚ΠΊΠΈ альбома
$photos = $album->loadAll()->getList();

По всСму ΠΊΠΎΠ΄Ρƒ прописаны php-doc ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, поэтому Π² IDE Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ подсказки ΠΏΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²., (*1)

ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

Для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² API Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ интСрфСйс Serializable, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² тСкстовом прСдставлСнии., (*2)

$api = new \Yandex\Fotki\Api($login);
$api->auth($token);

// Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ всС Π°Π»ΡŒΠ±ΠΎΠΌΡ‹ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ
$collection = $api->getAlbumsCollection()->loadAll();

// Π‘Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΡƒΠ΅ΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ (ΠΈ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² кэш, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€)
echo serialize($collection);

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„ΠΎΡ‚ΠΎ

$api = new \Yandex\Fotki\Api($login);
$api->oauth($token);

// ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅ Π½Π° сСрвСрС.
$imgPath = 'path_to_photo.png';

try {
    // ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° ЯндСкс.Π€ΠΎΡ‚ΠΊΠΈ
    // Π’Ρ‚ΠΎΡ€Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ (Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ) ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ id Ρ„ΠΎΡ‚ΠΎΠ°Π»ΡŒΠ±ΠΎΠΌΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΠΎΠΏΠ°ΡΡ‚ΡŒ Ρ„ΠΎΡ‚ΠΊΠ°
    $arPhoto = $api->sendPhoto(array('image'=> '@'. $imgPath,'access' => 'public'), 479011);
} catch (\Yandex\Fotki\Exception\Api $ex) {
}
// ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ.
print_r($arPhoto);

The Versions

26/10 2015

dev-master

9999999-dev

PHP-library for interactions with Yandex.Fotki / PHP рСализация API для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с сСрвисом ЯндСкс.Π€ΠΎΡ‚ΠΊΠΈ

  Sources   Download

The MIT License (MIT)

The Requires

  • php >=5.3.0

 

api yandex fotki

16/11 2013

v0.4.2

0.4.2.0

PHP-library for interactions with Yandex.Fotki / PHP рСализация API для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с сСрвисом ЯндСкс.Π€ΠΎΡ‚ΠΊΠΈ

  Sources   Download

The MIT License (MIT)

The Requires

  • php >=5.3.0

 

api yandex fotki

16/11 2013

v0.4.1

0.4.1.0

PHP-library for interactions with Yandex.Fotki

  Sources   Download

The Requires

  • php >=5.3.0

 

api yandex fotki

15/11 2013

0.4.0

0.4.0.0

PHP-library for interactions with Yandex.Fotki

  Sources   Download

The Requires

  • php >=5.3.0

 

api yandex fotki

15/11 2013

v0.3.0

0.3.0.0

PHP-library for interactions with Yandex.Fotki

  Sources   Download

The Requires

  • php >=5.3.0

 

api yandex fotki