Автоматический постинг в ВКонтакте на стену группы или пользователя (wall.post)

Первое и пожалуй самое важное, что нужно сделать, это создать Standalone приложение в ВКонтакте пройдя по этой ссылке: http://vk.com/editapp?act=create. Далее создаём файлик библиотеки, для работы с api контакта vk.php и добавляем туда следующий код:

<?
class Model_Vk {

    private $access_token;
    private $url = "https://api.vk.com/method/";

    /**
     * Конструктор
     */
    public function __construct($access_token) {

        $this->access_token = $access_token;
    }

    /**
     * Делает запрос к Api VK
     * @param $method
     * @param $params
     */
    public function method($method, $params = null) {

        $p = "";
        if( $params && is_array($params) ) {
            foreach($params as $key => $param) {
                $p .= ($p == "" ? "" : "&") . $key . "=" . urlencode($param);
            }
        }
        $response = file_get_contents($this->url . $method . "?" . ($p ? $p . "&" : "") . "access_token=" . $this->access_token);

        if( $response ) {
            return json_decode($response);
        }
        return false;
    }
}

 Вот это основной, мини класс для управления Api VKontakte.

Для того, чтобы наше приложение как то могло постить сообщения на стену, нам нужно получить токен (access_token), для этого вобъём ссылку в адресную строку браузера:

http://oauth.vk.com/authorize?client_id=YOUR_CLIENT_ID&scope=wall,offline&redirect_uri=http://oauth.vk.com/blank.html&response_type=token

 Соответственно YOUR_CLIENT_ID вы должны заменить на ID своего приложения. В итоге мы получаем некую ссылку с нашим токеном. Теперь создадим файлик vk_post.php и попробуем чтонибудь написать на нашей стене:

<?
include "vk.php";
$access_token = "ACCESS_TOKEN";
$user_id = "USER_ID";

//Инициализируем класс
$vk = new Model_Vk($access_token);

$params = array(
    "owner_id" => $user_id,
    "message" => "Hello world!"
);
$post = $vk->method("wall.post", $params);

Запускаем файл через консоль и смотрим на стену пользователя.

$ php vk_post.php

 Написал небольшую страничку, где можно быстро и безболезненно попробовать публиковать посты сразу в несколько групп контакта: Автопостинг в группы Контакта. Надеюсь кому-нибудь эта страничка будет полезна.

P.Nixx, 24.10.2012, 11:08