2017 © Pedro Peláez
 

project yii2-vk

Расширенная работа с API VK

image

jumper423/yii2-vk

Расширенная работа с API VK

  • Thursday, March 2, 2017
  • by jumper423
  • Repository
  • 3 Watchers
  • 27 Stars
  • 743 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 7 Forks
  • 1 Open issues
  • 24 Versions
  • 5 % Grown

The README.md

Yii2 VK

PHP version, (*1)

Времнно используйте только вторую версию

Компонент для расширенной работы с ВК API в YII2. Загрузка изображений, распознавание капчи, постановка очередей и многое другое., (*2)

Сайт с подробным описанием yii2 api vk, (*3)

Особенности

  • Задержка выполнения
  • Разделины post и get
  • Загрузка изображений
  • Добавление в очереди
  • Запись задач и выполнению их по cron-у
  • Интеграция с распознованием капчи
  • Запись в атрибуты token-а

Установка

Предпочтительный способ установить это расширение через composer., (*4)

Либо запустить, (*5)

php composer.phar require --prefer-dist jumper423/yii2-vk "2.*"

или добавить, (*6)

"jumper423/yii2-vk": "2.*"

в файл composer.json., (*7)

Конфигурация

'components' => [
    'vk' => [
        'class' => 'jumper423\VK',
        'clientId' => '11111',
        'clientSecret' => 'n9wsv98svSD867SA7dsda87',
        'delay' => 0.7, // Минимальная задержка между запросами
        'delayExecute' => 120, // Задержка между группами инструкций в очереди
        'limitExecute' => 1, // Количество инструкций на одно выполнении в очереди
        'captcha' => 'captcha', // Компонент по распознованию капчи
    ],
],
'aliases' => [
    '@actions' => '@backend/runtime/cron', // Папка куда будут складироваться очереди для cron-а
],

"Расширенная" конфигурация, (*8)

'components' => [
    'captcha' => [
        'class' => 'jumper423\Captcha',
        'pathTmp' => '@imagescache/captcha',
        'apiKey' => '42eab4119020dbc729f657',
    ],
    'authClientCollection' => [
        'class' => 'yii\authclient\Collection',
        'clients' => [
            'vkontakte' => [
                'class' => 'jumper423\VK',
                'clientId' => '11111',
                'clientSecret' => 'n9wsv98svSD867SA7dsda87',
                'delay' => 0.7,
                'delayExecute' => 120,
                'limitExecute' => 1,
                'captcha' => 'captcha',
                'scope' => 'friends,photos,pages,wall,groups,email,stats,ads,offline,notifications', //,messages,nohttps
                'title' => 'ВКонтакте'
            ],
        ],
    ],
],
'aliases' => [
    '@actions' => '@backend/runtime/cron', // Папка куда будут складироваться очереди для cron-а
],

Использование

Вызов следовательно, (*9)

/**
* @var jumper423\VK $vk
*/

$vk = Yii::$app->vk;

или

$vk = Yii::$app->authClientCollection->getClient('vkontakte');

Создание альбома, (*10)

$response = $vk->post('photos.createAlbum', ['group_id' => $groupId, 'title' => $title, 'upload_by_admins_only' => 1]);

Добавление инструкции в очередь, (*11)

foreach ($images as $image) {
    $vk->addAction('photos.edit', ['caption' => $caption, 'owner_id' => $ownerId, 'photo_id' => $image,]);
}
// Добавление в cron
$vk->addActionsInCron('photos.edit');
// Или начать выполнение очереди командой
// $vk->performAnAction();

Выполнение cron-а, (*12)

$vk->performAnActionFromCron('photos.edit');

Загрузка изображения в альбом пользователя или группы, (*13)

$imageId = $vk->loadImage($imagePath, $albumId, $groupId);

Авторизация со всеми правами с помощью selenium

$data = $webDriver->getData($this->api->getOauthUri());
if (!count($data)) {
    throw new Exception('Ошибка при авторизации');
}
$token = [
    'tokenParamKey' => 'access_token',
    'tokenSecretParamKey' => 'oauth_token_secret',
    'createTimestamp' => time(),
    'params' => $data,
];
$this->vk->vk_id = $data['user_id'];
$this->vk->token = $token;
$this->vk->save();
$this->api->setToken($this->vk->token);
/**
 * @param $url string
 * @param $recursia bool
 */
public function getData($url, $recursia = true)
{
    $this->driver->get($url);
    $this->driver->findElement(WebDriverBy::name('email'))->sendKeys($this->vkTable->login);
    $this->driver->findElement(WebDriverBy::name('pass'))->sendKeys($this->vkTable->password);
    $this->driver->findElement(WebDriverBy::id('install_allow'))->click();
    sleep(3);
    while ($this->driver->findElements(WebDriverBy::xpath('//input[@name=\'captcha_key\']'))) {
        $this->captcha();
        $this->driver->findElement(WebDriverBy::name('pass'))->sendKeys($this->vkTable->password);
        $this->driver->findElement(WebDriverBy::id('install_allow'))->click();
        sleep(3);
    }
    $this->driver->wait(60, 1000)->until(
        WebDriverExpectedCondition::titleContains('VK | Request Access')
    );
    $this->driver->findElement(WebDriverBy::id('install_allow'))->click();
    $this->driver->wait(60, 1000)->until(
        WebDriverExpectedCondition::titleContains('OAuth Blank')
    );
    $urlCurrent = $this->driver->getCurrentURL();
    $parseUrl = parse_url($urlCurrent);
    if (!isset($parseUrl['fragment']) && $recursia == true) {
        return $this->getData($url, false);
    }
    $query = $parseUrl['fragment'];
    parse_str($query, $data);
    return $data;
}

The Versions

02/03 2017

dev-master

9999999-dev http://infoblog1.ru/learn/cms/yii/rabota-s-api-vk-v-yii2

Расширенная работа с API VK

  Sources   Download

Apache License 2.0

The Requires

 

api yii2 vkontakte vk вконтакте апи

02/03 2017

3.3.4

3.3.4.0 http://infoblog1.ru/learn/cms/yii/rabota-s-api-vk-v-yii2

Расширенная работа с API VK

  Sources   Download

Apache License 2.0

The Requires

 

api yii2 vkontakte vk вконтакте апи

02/03 2017

3.3.3

3.3.3.0 http://infoblog1.ru/learn/cms/yii/rabota-s-api-vk-v-yii2

Расширенная работа с API VK

  Sources   Download

Apache License 2.0

The Requires

 

api yii2 vkontakte vk вконтакте апи

20/02 2017

3.3.2

3.3.2.0 http://infoblog1.ru/learn/cms/yii/rabota-s-api-vk-v-yii2

Расширенная работа с API VK

  Sources   Download

Apache License 2.0

The Requires

 

api yii2 vkontakte vk вконтакте апи

02/07 2016

3.3.1

3.3.1.0 http://infoblog1.ru/learn/cms/yii/rabota-s-api-vk-v-yii2

Расширенная работа с API VK

  Sources   Download

Apache License 2.0

The Requires

 

api yii2 vkontakte vk вконтакте апи

15/03 2016

3.3

3.3.0.0 http://infoblog1.ru/learn/cms/yii/rabota-s-api-vk-v-yii2

Расширенная работа с API VK

  Sources   Download

Apache License 2.0

The Requires

 

api yii2 vkontakte vk вконтакте апи

10/03 2016

3.2.2

3.2.2.0 http://infoblog1.ru/learn/cms/yii/rabota-s-api-vk-v-yii2

Расширенная работа с API VK

  Sources   Download

Apache License 2.0

The Requires

 

api yii2 vkontakte vk вконтакте апи

10/03 2016

3.2.1

3.2.1.0 http://infoblog1.ru/learn/cms/yii/rabota-s-api-vk-v-yii2

Расширенная работа с API VK

  Sources   Download

Apache License 2.0

The Requires

 

api yii2 vkontakte vk вконтакте апи

10/03 2016

3.2

3.2.0.0 http://infoblog1.ru/learn/cms/yii/rabota-s-api-vk-v-yii2

Расширенная работа с API VK

  Sources   Download

Apache License 2.0

The Requires

 

api yii2 vkontakte vk вконтакте апи

09/03 2016

3.1

3.1.0.0 http://infoblog1.ru/learn/cms/yii/rabota-s-api-vk-v-yii2

Расширенная работа с API VK

  Sources   Download

Apache License 2.0

The Requires

 

api yii2 vkontakte vk вконтакте апи

18/02 2016

3.0.8

3.0.8.0 http://infoblog1.ru/learn/cms/yii/rabota-s-api-vk-v-yii2

Расширенная работа с API VK

  Sources   Download

Apache License 2.0

The Requires

 

api yii2 vkontakte vk вконтакте апи

18/02 2016

3.0.7

3.0.7.0 http://infoblog1.ru/learn/cms/yii/rabota-s-api-vk-v-yii2

Расширенная работа с API VK

  Sources   Download

Apache License 2.0

The Requires

 

api yii2 vkontakte vk вконтакте апи

18/02 2016

3.0.6

3.0.6.0 http://infoblog1.ru/learn/cms/yii/rabota-s-api-vk-v-yii2

Расширенная работа с API VK

  Sources   Download

Apache License 2.0

The Requires

 

api yii2 vkontakte vk вконтакте апи

13/02 2016

3.0.5

3.0.5.0 http://infoblog1.ru/learn/cms/yii/rabota-s-api-vk-v-yii2

Расширенная работа с API VK

  Sources   Download

Apache License 2.0

The Requires

 

api yii2 vkontakte vk вконтакте апи

13/02 2016

3.0.4

3.0.4.0 http://infoblog1.ru/learn/cms/yii/rabota-s-api-vk-v-yii2

Расширенная работа с API VK

  Sources   Download

Apache License 2.0

The Requires

 

api yii2 vkontakte vk вконтакте апи

10/02 2016

3.0.3

3.0.3.0 http://infoblog1.ru/learn/cms/yii/rabota-s-api-vk-v-yii2

Расширенная работа с API VK

  Sources   Download

Apache License 2.0

The Requires

 

api yii2 vkontakte vk вконтакте апи

10/02 2016

3.0.2

3.0.2.0 http://infoblog1.ru/learn/cms/yii/rabota-s-api-vk-v-yii2

Расширенная работа с API VK

  Sources   Download

Apache License 2.0

The Requires

 

api yii2 vkontakte vk вконтакте апи

10/02 2016

3.0.1

3.0.1.0 http://infoblog1.ru/learn/cms/yii/rabota-s-api-vk-v-yii2

Расширенная работа с API VK

  Sources   Download

Apache License 2.0

The Requires

 

api yii2 vkontakte vk вконтакте апи

10/02 2016

3.0

3.0.0.0 http://infoblog1.ru/learn/cms/yii/rabota-s-api-vk-v-yii2

Расширенная работа с API VK

  Sources   Download

Apache License 2.0

The Requires

 

api yii2 vkontakte vk вконтакте апи

25/10 2015

2.1

2.1.0.0

  Sources   Download

Apache License 2.0

The Requires

 

api yii2 vkontakte vk вконтакте апи

24/10 2015

2.0

2.0.0.0

  Sources   Download

Apache License 2.0

The Requires

 

api yii2 vkontakte vk вконтакте апи

22/10 2015

1.2

1.2.0.0

  Sources   Download

Apache License 2.0

The Requires

 

api yii2 vkontakte vk вконтакте апи

22/10 2015

1.1

1.1.0.0

  Sources   Download

Apache License 2.0

The Requires

 

api yii2 vkontakte vk вконтакте апи

15/10 2015

1.0

1.0.0.0

  Sources   Download

Apache License 2.0

The Requires

 

api yii2 vkontakte vk вконтакте апи