Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы Публикпция записи на стену ВК

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


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

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

У меня есть 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
39

1479 | 390

dj-avtosh - 27 сентября 2014 16:56 - шашлычник

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

skype: elhan.isaev

vk_159926832
206 | 5

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

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

vitnet
218

2174 | 930

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


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

vk_159926832
206 | 5

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

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

vk_159926832
206 | 5

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
218

2174 | 930

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

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

vk_159926832
206 | 5

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

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

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

vitnet
218

2174 | 930

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

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

vk_159926832
206 | 5

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


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

vitnet
218

2174 | 930

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


Вот мое

vk_159926832
206 | 5

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

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

vk_159926832
206 | 5

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
218

2174 | 930

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
206 | 5

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

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

vk_159926832
206 | 5

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
206 | 5

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

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

vitnet
218

2174 | 930

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

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

vk_159926832
206 | 5

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
9

74 | 15

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


vk_159926832
206 | 5

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

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

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

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