В общем, порядок такой:
подключаем скрипт
когда он загрузится вызываем VK.Auth.login(null, VK.access.FRIENDS);
Когда наш обработчик (повешенный вначале, подробности в документации) запустится, вызываем:
VK.Api.call('wall.post', args, callback). args — объект с параметрами (owner_id, message и т.д.). Не забываем, что иногда нужно вводить каптчу (в callbacck в таком случает возвращается соотв. ошибка). Человеку выдается диалог с вашим текстом — не поле ввода, а именно так: «опубликовать… Такомуто Другу»?
В Facebook можно без этого диалога, сразу публиковать. Во Вконтакте способа обхода диалога нет.