Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Публикпция записи на стену ВК

Публикпция записи на стену ВК


     27.09.2014    Общие вопросы, Общие вопросы по PHP    3994

вопрос
Здравствуйте, пытаюсь сделать что то типо автопостинга в соцсеть вконтакте. Прошуршал почти пол интернета - ничего не нашел, осталась надежда на вас :(

У меня есть Standalone приложение, есть php файл, где я работаю.

Делаю авторизацию приложения, получаю код.
header("location: https://oauth.vk.com/authorize?client_id={$app_id}&scope=wall,groups,offline&redirect_uri={$redirect_page}&response_type=code");


Получаю токен при помощи этого кода.
$get_token_url = "https://oauth.vk.com/access_token?client_id={$app_id}&client_secret={$app_secret}&code={$api_code}&redirect_uri={$redirect_page}";

$json = file_get_contents( $get_token_url );
....

После получения токена я пытаю послать на стену сообщества запись.
https://api.vk.com/method/wall.post?owner_id=-1&from_group=1&message=test&access_token={$access_token}


Но мне всеравно выдаёт:
error_code":20,"error_msg":"Permission to perform this action is denied for non-standalone applications: you should request token using blank.html page


Где то писали что надо делать через blank.html, но только я не понял как его внедрить и как получить токены верно.

Помогите пожалуйста, заранее благодарен!!

Ответа пока нет


20 комментариев

dj-avtosh
PHP-developer

dj-avtosh - 27 сентября 2014 16:56 -

3000 и я это сделаю за вас.

https://elkhan.ru
По заказам пишем сюда: @Rud00y

ЯД: 41001679231462
Заказы в telegram (ремонт модулей, оптимизация нагрузок и т.п.):
В телегу писать сразу задачу и бюджет.

vk_159926832
Юзер

vk_159926832 - 27 сентября 2014 22:42 -

Не многовато - ли? :) У меня почти все готово, я просто не знаю откуда косяк пошел...

vitnet
PHP-developer

vitnet - 27 сентября 2014 17:14 -


Я вам кажется уже показывал, но если нет то вот пример:

vk_159926832
Юзер

vk_159926832 - 27 сентября 2014 22:43 -

Нет, не показывали, завтра попробую отпишусь

vk_159926832
Юзер

vk_159926832 - 28 сентября 2014 13:46 -

Все равно не получилось! Пишет:
{"error":{"error_code":20,"error_msg":"Permission to perform this action is denied for non-standalone applications: you should request token using blank.html page","request_params":[{"key":"oauth","value":"1"},{"key":"method","value":"wall.post"},{"key":"owner_id","value":"-9999999"},{"key":"from_group","value":"1"},{"key":"message","value":"testMSG"},{"key":"access_token","value":"99999999999999"}]}}

Я токен правильно получил?

vitnet
PHP-developer

vitnet - 28 сентября 2014 14:05 -

У меня токен получен ранее, я его не запрашиваю при каждом постинге

vk_159926832
Юзер

vk_159926832 - 28 сентября 2014 18:13 -

Ну ладно, я запросил его 1 раз, потом сформировал ссылку, вставил туда токен, id группы, текст и перешел по ней, и получил этот ответ.

Кстате выполняя ваш скрипт я вобще видел пустой экран

vitnet
PHP-developer

vitnet - 28 сентября 2014 18:24 -

Может у вас приложение неправильно настроено?

vk_159926832
Юзер

vk_159926832 - 28 сентября 2014 19:49 -


Ну я создал Standalone приложение, всё нормально. Смотрите скриншот

vitnet
PHP-developer

vitnet - 28 сентября 2014 20:10 -


Вот мое

vk_159926832
Юзер

vk_159926832 - 29 сентября 2014 11:42 -

Так у вас обычное flash приложение, а у меня был "сайт" и standalone.

vk_159926832
Юзер

vk_159926832 - 29 сентября 2014 11:52 -


Вот настроил его как у вас, сразу выдало мне:

{"error":"invalid_request","error_description":"OAuth authorization cannot be used from native VK applications"}


Получаю токен так:

#авторизация

    header("location: https://oauth.vk.com/authorize?client_id={$app_id}&scope=wall,groups,offline&redirect_uri={$redirect_page}&response_type=code");
    exit();
...
#получение токена

    $get_token_url = "https://oauth.vk.com/access_token?client_id={$app_id}&client_secret={$app_secret}&code={$api_code}&redirect_uri={$redirect_page}";
    $json = file_get_contents( $get_token_url );
    
    $json_decoded = json_decode($json,true);

    $access_token = $json_decoded['access_token'];


Но получить не удалось из за ошибки...

vitnet
PHP-developer

vitnet - 29 сентября 2014 13:35 -

http://oauth.vk.com/authorize?client_id={$client_id}&scope=offline,wall,video&response_type=token&display=popup

vk_159926832
Юзер

vk_159926832 - 29 сентября 2014 13:46 -

Спасибо вам огромное! А токен бесконечное время будет действовать или его надо будет когда либо менять?

vk_159926832
Юзер

vk_159926832 - 29 сентября 2014 14:09 -

Вот у меня еще вопрос, а почему из PHP этот запрос провести не получается?

https://api.vk.com/method/wall.post?owner_id=-999999999&from_group=1&message=testMSG&access_token=9999999999999999999


Ни через cUrl ни через file_get_contents? а через header - получается.

vk_159926832
Юзер

vk_159926832 - 30 сентября 2014 09:19 -

Ответьте пожалуйста :)

vitnet
PHP-developer

vitnet - 30 сентября 2014 21:10 -

Я же вам показывал пример, при открытии php файла в браузере данные успешно публикуются

vk_159926832
Юзер

vk_159926832 - 1 октября 2014 12:58 -

Если зайти на эту ссылку, то да.
https://api.vk.com/method/wall.post?owner_id=-999999999&from_group=1&message=testMSG&access_token=9999999999999999999


А если через cUrl или через file_get_contents пытаешься - то не получается, просто пустой экран.

dunwell
Юзер

dunwell - 1 октября 2014 14:43 -


vk_159926832
Юзер

vk_159926832 - 1 октября 2014 17:47 -

нет, так как мне нужен постинг только в вк и без затрат.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх