alxmsl/odnoklassnikiclient

Simple client for Odnoklassniki API

v2.0.1 2015-06-30 14:29 UTC

This package is not auto-updated.

Last update: 2024-12-21 17:53:44 UTC


README

πŸ‡¬πŸ‡§

License Latest Stable Version Total Downloads

Build Status Scrutinizer Code Quality Dependency Status

ΠšΠ»ΠΈΠ΅Π½Ρ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с API ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ сСти "Одноклассники". ΠšΠ»ΠΈΠ΅Π½Ρ‚ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Установка

ΠŸΡ€ΠΎΡΡ‚ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Π½ΡƒΠΆΠ½ΠΎΠΉ вСрсии Π² Ρ„Π°ΠΉΠ»Π΅ composer.json

    "alxmsl/odnoklassnikiclient": "1.0.0"

Π—Π°Ρ‚Π΅ΠΌ запуститС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° composer update

ВСстированиС

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ работоспособности Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡŽΠ½ΠΈΡ‚-тСстированиС ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ phpunit

    $ phpunit
    PHPUnit 4.7.5 by Sebastian Bergmann and contributors.
    
    Runtime:	PHP 5.5.23
    
    ....................
    
    Time: 149 ms, Memory: 6.00Mb
    
    OK (20 tests, 100 assertions)

Авторизация OAuth2

Для Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· OAuth2 Π² "ΠžΠ΄Π½ΠΎΠΊΠ»Π°ΡΡΠ½ΠΈΠΊΠ°Ρ…" Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ экзСмпляр класса OAuth\Client ΠΈ, с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°ΠΌΠΈ ΠΏΡ€Π°Π²Π°ΠΌΠΈ для прилоТСния, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ‡Π΅Ρ€Π΅Π· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, пройдя ΠΏΠΎ созданной ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ createAuthUrl ссылкС

    $Client = new Client();
    $Client->setClientId(<ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ прилоСТния>)
        ->setRedirectUri(<URI пСрСадрСсации для ΠΊΠΎΠ΄Π°>);
    
    $url = $Client->createAuthUrl(
        <массив ΠΈΠ½Ρ‚Π΅Ρ€Π΅ΡΡƒΡŽΡ‰ΠΈΡ… ΠΏΡ€Π°Π²>
        , <Ρ„Π»Π°Π³ нСобходимости мобильного Π»Π΅ΠΉΠ°ΡƒΡ‚Π° для Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅>);

По ΠΊΠΎΠ΄Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½ доступа ΠΈ Ρ‚ΠΎΠΊΠ΅Π½ обновлСния (Ρ‚ΠΎΠΊΠ΅Π½Π° доступа)

    $Client = new Client();
    $Client->setClientId(<ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ прилоСТния>)
        ->setClientSecret(<сСкрСтный ΠΊΠ»ΡŽΡ‡ прилоТСния>)
        ->setRedirectUri(<URI пСрСадрСсации для ΠΊΠΎΠ΄Π°>);
    $Token = $Client->authorize(<ΠΊΠΎΠ΄ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ>);

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ получСния ссылки для Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Π΅ oauth2.uri.php, Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΊΠ΅Π½Π° доступа Π² Ρ„Π°ΠΉΠ»Π΅ oauth2.authorize.php

ΠΠ²Ρ‚ΠΎΡ€ΠΈΠ·Π°Ρ†ΠΈΡŽ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· скрипт authorize.php

$ php bin/authorize.php -h
Using: /usr/local/bin/php bin/authorize.php [-h|--help] [-o|--code] -c|--client [-r|--redirect] [-s|--scopes] -e|--secret
-h, --help  - show help
-o, --code  - authorization code
-c, --client  - client id
-r, --redirect  - redirect uri
-s, --scopes  - grant scopes
-e, --secret  - client secret

ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½ доступа ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· скрипт refresh.php

$ php bin/refresh.php -h
Using: /usr/local/bin/php bin/refresh.php [-h|--help] -c|--client -r|--redirect -t|--token -s|--secret
-h, --help  - show help
-c, --client  - client id
-r, --redirect  - redirect uri
-t, --token  - refresh token
-s, --secret  - client secret

Π’Ρ‹Π·ΠΎΠ²Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² OK REST API

Для обращСния ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ OK REST API Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ экзСмпляр ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° API\Client ΠΈ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠ² Ρ‚ΠΎΠΊΠ΅Π½ доступа, Π½Π°Ρ‡Π°Ρ‚ΡŒ Π΄Π΅Ρ€Π³Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ call. А ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Ρ€Π³Π°Ρ‚ΡŒ callConfidence, Ссли Π·Π° врСмя подСргивания планируСтся истСчСниС Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠΉ сСссии Ρ‚ΠΎΠΊΠ΅Π½Π° доступа

    $Token = new Token();
    $Token->setAccessToken(<Ρ‚ΠΎΠΊΠ΅Π½ доступа>)
        ->setRefreshToken(<Ρ‚ΠΎΠΊΠ΅Π½ обновлСния>)
        ->setTokenType(Token::TYPE_SESSION);
    
    $Client = new Client();
    $Client->setApplicationKey(<ΠΊΠ»ΡŽΡ‡ прилоТСния>)
        ->setToken($Token)
        ->setClientId(<ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ прилоТСния>)
        ->setClientSecret(<сСкрСтный ΠΊΠ»ΡŽΡ‡ прилоТСния>);
    
    $Result = $Client->call(<ΠΌΠ΅Ρ‚ΠΎΠ΄>, <массив ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π²Ρ‹Π·ΠΎΠ²Π°>);
    $Result = $Client->callConfidence(<ΠΌΠ΅Ρ‚ΠΎΠ΄>, <массив ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π²Ρ‹Π·ΠΎΠ²Π°>);

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования call ΠΈ callConfidence ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² Ρ„Π°ΠΉΠ»Π°Ρ… api.users.getCurrentUser.php ΠΈ api.users.getInfo.php

Аналогично, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ скрипт выполнСния ΠΌΠ΅Ρ‚ΠΎΠ΄Π° OK REST API call.php

$ php bin/call.php -h
Using: /usr/local/bin/php bin/call.php [-h|--help] -c|--client -d|--data -k|--key -m|--method -s|--secret -t|--token
-h, --help  - show help
-c, --client  - client id
-d, --data  - API method parameters (JSON)
-k, --key  - application key
-m, --method  - API method name
-s, --secret  - client secret
-t, --token  - access token

ЛицСнзия

АвторскоС ΠΏΡ€Π°Π²ΠΎ Β© 2015 Alexey Maslov alexey.y.maslov@gmail.com Π›ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Apache License, Version 2.0. Π‘ ΠΏΠΎΠ»Π½Ρ‹ΠΌ тСкстом Π»ΠΈΡ†Π΅Π½Π·ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ ΠΏΠΎ ссылкС

http://www.apache.org/licenses/LICENSE-2.0