programmis / php-vk-api-sdk
Lib for Vk Api
Installs: 1 109
Dependents: 0
Suggesters: 0
Security: 0
Stars: 11
Watchers: 8
Forks: 3
Open Issues: 0
Requires
- php: >=5.3.0
- programmis/anti-captcha: 0.*
- programmis/api-rator: 1.*
- programmis/auto-fill-object: 0.*
- programmis/colorful-logger: 0.*
- symfony/yaml: 2.*|3.*
Requires (Dev)
- codeception/c3: 2.*
- codeception/codeception: 2.*
- codeception/specify: 0.*
- codeception/verify: 0.*
- phpunit/phpunit: ^4.8
- squizlabs/php_codesniffer: ^2.3
- dev-master
- 2.0.48
- 2.0.47
- 2.0.46
- 2.0.45
- 2.0.44
- 2.0.43
- 2.0.42
- 2.0.41
- 2.0.40
- 2.0.39
- 2.0.38
- 2.0.37
- 2.0.36
- 2.0.35
- 2.0.34
- 2.0.33
- 2.0.32
- 2.0.31
- 2.0.30
- 2.0.29
- 2.0.28
- 2.0.27
- 2.0.26
- 2.0.25
- 2.0.24
- 2.0.23
- 2.0.22
- 2.0.21
- 2.0.20
- 2.0.19
- 2.0.18
- 2.0.17
- 2.0.16
- 2.0.15
- 2.0.14
- 2.0.13
- 2.0.12
- 2.0.11
- 2.0.10
- 2.0.09
- 2.0.08
- 2.0.07
- 2.0.06
- 2.0.05
- 2.0.04
- 2.0.03
- 2.0.02
- 2.0.01
- 2.0.0
- 1.2.3
- 1.2.2
- 1.2.1
- 1.2.0
- 1.1.9
- 1.1.8
This package is not auto-updated.
Last update: 2025-01-27 14:18:01 UTC
README
Supported:
Account, Ads, Apps, Audio, Auth, Board, Database, Docs, Fave, Friends, Gifts, Groups, Leads, Likes, Market, Messages, Newsfeed, Notes, Notifications, Orders, Pages, Photos, Places, Polls, Search, Secure, Stats, Status, Storage, Users, Utils, Video, Wall, WidgetsHow to install:
1) Download composer :
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('SHA384', 'composer-setup.php') === 'e115a8dc7871f15d853148a7fbac7da27d6c0030b848d9b3dc09e2a0388afed865e6a3d6b3c0fad45c48e2b5fc1196ae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
2) Install SDK:
php composer.phar require programmis/php-vk-api-sdk
3) Get token vkontakte:
http://oauth.vk.com/authorize?client_id=3682744&scope=status,friends,wall,offline,photos,market&redirect_uri=http://oauth.vk.com/blank.html&display=page&response_type=token
in the address bar:
https://oauth.vk.com/blank.html#access_token=345345345345345345345345345d73e7de6acf1475ca460d&expires_in=0&user_id=1
Examples:
Upload photo
$server = new PhotosGetUploadServer($token); $server->setAlbumId($album_id) ->setGroupId($group_id); if (!$server->doRequest()) { return; } if (!$server->upload([$img_path])) { return; } $uploadResult = $server->getUploadResult(); $photos = new PhotosSave($token); $photos->setAlbumId($album_id) ->setGroupId($group_id) ->setServer($uploadResult->getServer()) ->setPhotosList($uploadResult->getPhotosList()) ->setHash($uploadResult->getHash()) ->setCaption($text); if (!$photos->doRequest()) { return; }
Obtain detailed information about users VKontakte:
$users = \VkApi\Vk::users()->get() ->addUserId(1) ->addField('sex') ->execute(); foreach ($users as $uI) { echo $uI->getId() . "\n"; echo $uI->getFirstName() . "\n"; echo $uI->getLastName() . "\n"; echo $uI->getSex() . "\n"; } //OR $user = new \VkSdk\Users\UsersGet(); $user->setUserIds([1]) ->addField('sex'); if($user->doRequest()){ foreach($user->getUsersInfo() as $uI ){ echo $uI->getId() . "\n"; echo $uI->getFirstName() . "\n"; echo $uI->getLastName() . "\n"; echo $uI->getSex() . "\n"; } }
Join this group or to attend a meeting VKontakte:
$joinGroup = new GroupsJoin(); $joinGroup->setGroupId(1); if( $joinGroup->doRequest()){ echo $joinGroup->getResponse(); }
Place a record on the wall VKontakte:
$wallPost = new WallPost(); $wallPost->setOwnerId(1) ->setMessage("test"); if($wallPost->doRequest()){ echo $wallPost->getPostId(); }
Create a new album VKontakte:
$album = new PhotosCreateAlbum(); $album->setTitle("My new test album"); if($album->doRequest()){ echo $album->getAlbumInfo()->getId(); }
Add user VKontakte to friend:
$friendsAdd = new FriendsAdd(); $friendsAdd->setUserId(1) ->setText("Add me please"); if($friendsAdd->doRequest()){ switch($friendsAdd->getResponse()){ case FriendsAdd::RESULT_SEND: case FriendsAdd::RESULT_ACCEPT: case FriendsAdd::RESULT_REPEAT: echo "OK"; break; } }
Change the status of the user VKontakte:
$statusSet = new StatusSet(); $statusSet->setText("This is my new status"); if($statusSet->doRequest()){ echo $statusSet->getResponse(); }
Add a comment to the discussion VKontakte:
$boardComment = new BoardCreateComment(); $boardComment->setMessage("This is my new comment") ->setGroupId(1) ->setTopicId(21972158); if ($boardComment->doRequest()) { echo $boardComment->getCommentId(); }
Set the status of "online" in your account VKontakte:
$online = new AccountSetOnline(); if($online->doRequest()){ echo $online->getResponse(); }
Send message to VKontakte user:
$message = new MessagesSend(); $message->setMessage("Hello people") ->setUserId(1); if($message->doRequest()){ echo $message->getMessageId(); }
Create a new poll VKontakte:
$poll = new PollsCreate(); $poll->setOwnerId(1)->setIsAnonymous(1) ->setQuestion("Would you like to provide financial assistance for a set of these classes?") ->addAnswer('Yes') ->addAnswer('Of course'); if($poll->doRequest()){ echo $poll->getPollInfo()->getId() . "\n"; }
Console log example
info(1).........[2016/11/27 17:48:46] -> Set parameter: user_ids as array, values: a:1:{i:0;i:1;} debug(1)........[2016/11/27 17:48:46] -> execApi: https://api.vk.com/method/users.get?v=5.60 debug(2)........[2016/11/27 17:48:46] -> with headers: a:1:{s:12:"Content-type";s:19:"multipart/form-data";} debug(3)........[2016/11/27 17:48:46] -> with parameters: a:1:{s:8:"user_ids";s:1:"1";} debug(4)........[2016/11/27 17:48:46] -> execApi result: {"response":[{"id":1,"first_name":"Павел","last_name":"Дуров"}]}
Connecting your logger
\VkSdk\Includes\Request::setLogger(new \youre\Logger());
Connecting anti captcha
$antiCaptcha = new \AntiCaptcha\RuCaptcha(); //integrated in project now $antiCaptcha->setAccessToken($anti_captcha_access_token); \VkSdk\Includes\Request::setAntiCaptcha($antiCaptcha);
Set before and after request callback
\VkSdk\Includes\Request::setBeforeRequestCallback($this, 'beforeRequest'); \VkSdk\Includes\Request::setAfterRequestCallback($this, 'afterRequest'); //OR \VkSdk\Includes\Request::setBeforeRequestCallback(function(){}); \VkSdk\Includes\Request::setAfterRequestCallback(function(){});
Get Access Token: http://vk.com/dev/auth_sites
Description of the API methods: http://vk.com/dev/methods
if you find error - please send mail for me