• Ошибка 28 VK API Application authorization failed: refresh service token?

    @maxsharun Автор вопроса
    Антон Шаманов,
    Вот, ссылка для получения access_token api.vkontakte.ru/oauth/authorize?client_id=7130224...

    В ответе я получил access_token

    public function publishvk() {
    			$data['user'] = Auth::user();
    			
    			$group_id     = '44549933';
    			$access_token = 'полученный токен';
    			$message      = 'NEWMESSAGETOMYWALL';
    			$link         = 'https://snipp.ru/view/10';
    			
    			// Отправляем сообщение.
    			$params = array(
    			'v'            => '5.00',
    			'access_token' => $access_token,
    			'owner_id'     => '-' . $group_id, 
    			'from_group'   => '1', 
    			'message'      => $message,
    			'attachments'  => $link
    			);
    			
    			print_r(file_get_contents('https://api.vk.com/method/wall.post?' . http_build_query($params)));
    			
    		}
  • Ошибка 28 VK API Application authorization failed: refresh service token?

    @maxsharun Автор вопроса
    Антон Шаманов, Сделал четко, как в статье. И та же самая ошибка. Видимо, что-то поменялось в политике или VK, или я не знаю. Жду ответа от техподдержки. Пока попробую с OK.RU разобораться. Там нужно создать и загрузить фото в альбом.
  • PHP GD как сохранить изображение на сервере?

    @maxsharun Автор вопроса
    JhaoDa, Вопрос решен! Нужно было открыть консольку и сделать chmod -R 755 temppics, ну, а предварительно в начале функции:
    error_reporting(E_ALL);
    ini_set('display_errors', 1);

    Это так, чтобы ошибки включить.
  • Ошибка 28 VK API Application authorization failed: refresh service token?

    @maxsharun Автор вопроса
    Антон Шаманов, И как подобное реализовать? У меня нет большого опыта подобной работы. Я знаю, что в группах, как-то публикуют посты, используя standalone.
  • Ошибка 28 VK API Application authorization failed: refresh service token?

    @maxsharun Автор вопроса
    Антон Шаманов, Я сделал запрос в тех поддержку. Если ответят, а также у меня получится (по-любому получится, иначе денег за заказ не видать), то напишу статью с реальным рецептом, конкретно по ошибке 28.
  • Ошибка 28 VK API Application authorization failed: refresh service token?

    @maxsharun Автор вопроса
    Вопрос с ответом решил. Ответ возвращается и не 400-й. Но разместить пост не получается
  • Ошибка 28 VK API Application authorization failed: refresh service token?

    @maxsharun Автор вопроса
    Я продублирую один из комментариев. Если попытаться вывести $oResponce = $this->get_curl($sURL); т.е. без json_decode, то выдает 400 ошибку Bad Request. При этом по ссылке напрямую выдает обычную ошибку в формате json.

    Вот, какая ситуация, я авторизовался не с компа, а на сайте при помощи функции:
    public function vkauth(Request $request) {
    			$data['user'] = Auth::user();
    			$data['session_id'] = $request->session()->all()['_token'];
    			if( !empty($data['user'] ) ) {
    				$data['user']->token = User::find($data['user']->id)->access_token->token;			
    				$data['api-string'] = 'data-ownerid='.$data['user']->id.' data-userid='.$data['user']->id.' data-token='.$data['user']->token.' data-stoken='.$data['session_id'];
    				} else {
    				$data['api-string'] = 'data-stoken='.$data['session_id'];
    			}
    			
    			$appID = '7132598';
    			$secretKEY = 'xxx';
    			if ( !empty($request->code) ) {
    				$code = $request->code;
    				$sURL = "https://oauth.vk.com/access_token?client_id={$appID}&client_secret={$secretKEY}&v=5.101&grant_type=client_credentials&scope=offline,photos,wall,audio,video,friends";
    				$oResponce = json_decode($this->get_curl($sURL));
    				
    				$check = UserVk::where('user_id', '=', $data['user']->id)->get();
    				
    				if ( count($check) == 0 ) {
    					$UserVk = new UserVk;
    					$UserVk->user_id = $data['user']->id;
    					$UserVk->access_token = $oResponce->access_token;
    					$UserVk->save();
    					} else {
    					
    					$UserVk = UserVk::find($check[0]->id);
    					$UserVk->access_token = $oResponce->access_token;
    					$UserVk->save();
    					
    				}
    				print_r($oResponce);
    				//return redirect('/collections');
    			}


    Получил ключ доступа:
    stdClass Object ( [access_token] => xxxxx[expires_in] => 0 )


    Вот функция отправки поста:
    public function wallpost($vkids) {
    		
    			$title = 'My good`s Album';
    			$description = 'In this Aplbum I publish goods.... If u see, I`d got it..';
    			$privacy_view = 'all';
    			$client_secret = 'секретный ключ приложения';
    			$comments_disabled = 1;
    			$token = $vkids->access_token; //Это акссесс токе
    			$sURL = "https://api.vk.com/method/wall.post?client_secret={$client_secret}&message={$description}&owner_id={$vkids->vk_id}&v=5.101&access_token={$token}";
    			$oResponce = json_decode($this->get_curl($sURL));
    			return $oResponce;
    		
    	}


    Я коды уже менял местами, client_sectret помещал значение $token. Но, вот, что я заметил. $oResponce не выводится. Т.е. функция не может получить ответ. 28 ошибку я получаю, когда перехожу по ссылке напрямую (не сайт запрашивает). А моя функция не выводит даже ошибку.

    Но функция рабочая, во всяком случае access_token пользователя я получаю через нее и ответ приходит:

    function get_curl($url) {
    			if(function_exists('curl_init')) {
    				$ch = curl_init();
    				curl_setopt($ch, CURLOPT_URL,$url);
    				curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    				curl_setopt($ch, CURLOPT_HEADER, 0);
    				curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    				curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    				$output = curl_exec($ch);
    				echo curl_error($ch);
    				curl_close($ch);
    				return $output;
    				} else {
    				return file_get_contents($url);
    				//return 'dsfsdfsdf';
    			}
    		}


    И первое, что надо починить мне, чтобы я получал в функцию хотя бы ошибочный ответ.

    Просто file_get_contents не работает.
  • Ошибка 28 VK API Application authorization failed: refresh service token?

    @maxsharun Автор вопроса
    Вот, какая ситуация, я авторизовался не с компа, а на сайте при помощи функции:
    public function vkauth(Request $request) {
    			$data['user'] = Auth::user();
    			$data['session_id'] = $request->session()->all()['_token'];
    			if( !empty($data['user'] ) ) {
    				$data['user']->token = User::find($data['user']->id)->access_token->token;			
    				$data['api-string'] = 'data-ownerid='.$data['user']->id.' data-userid='.$data['user']->id.' data-token='.$data['user']->token.' data-stoken='.$data['session_id'];
    				} else {
    				$data['api-string'] = 'data-stoken='.$data['session_id'];
    			}
    			
    			$appID = '7132598';
    			$secretKEY = 'xxx';
    			if ( !empty($request->code) ) {
    				$code = $request->code;
    				$sURL = "https://oauth.vk.com/access_token?client_id={$appID}&client_secret={$secretKEY}&v=5.101&grant_type=client_credentials&scope=offline,photos,wall,audio,video,friends";
    				$oResponce = json_decode($this->get_curl($sURL));
    				
    				$check = UserVk::where('user_id', '=', $data['user']->id)->get();
    				
    				if ( count($check) == 0 ) {
    					$UserVk = new UserVk;
    					$UserVk->user_id = $data['user']->id;
    					$UserVk->access_token = $oResponce->access_token;
    					$UserVk->save();
    					} else {
    					
    					$UserVk = UserVk::find($check[0]->id);
    					$UserVk->access_token = $oResponce->access_token;
    					$UserVk->save();
    					
    				}
    				print_r($oResponce);
    				//return redirect('/collections');
    			}


    Получил ключ доступа:
    stdClass Object ( [access_token] => xxxxx[expires_in] => 0 )


    Вот функция отправки поста:
    public function wallpost($vkids) {
    		
    			$title = 'My good`s Album';
    			$description = 'In this Aplbum I publish goods.... If u see, I`d got it..';
    			$privacy_view = 'all';
    			$client_secret = 'секретный ключ приложения';
    			$comments_disabled = 1;
    			$token = $vkids->access_token; //Это акссесс токе
    			$sURL = "https://api.vk.com/method/wall.post?client_secret={$client_secret}&message={$description}&owner_id={$vkids->vk_id}&v=5.101&access_token={$token}";
    			$oResponce = json_decode($this->get_curl($sURL));
    			return $oResponce;
    		
    	}


    Я коды уже менял местами, client_sectret помещал значение $token. Но, вот, что я заметил. $oResponce не выводится. Т.е. функция не может получить ответ. 28 ошибку я получаю, когда перехожу по ссылке напрямую (не сайт запрашивает). А моя функция не выводит даже ошибку.

    Но функция рабочая, во всяком случае access_token пользователя я получаю через нее и ответ приходит:

    function get_curl($url) {
    			if(function_exists('curl_init')) {
    				$ch = curl_init();
    				curl_setopt($ch, CURLOPT_URL,$url);
    				curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    				curl_setopt($ch, CURLOPT_HEADER, 0);
    				curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    				curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    				$output = curl_exec($ch);
    				echo curl_error($ch);
    				curl_close($ch);
    				return $output;
    				} else {
    				return file_get_contents($url);
    				//return 'dsfsdfsdf';
    			}
    		}


    И первое, что надо починить мне, чтобы я получал в функцию хотя бы ошибочный ответ.

    Просто file_get_contents не работает.
  • Ошибка 28 VK API Application authorization failed: refresh service token?

    @maxsharun Автор вопроса
    Standalone )) access_token уже обновлял. Попробую завтра с нуля.
  • VK API как сделать пост в группе?

    @maxsharun
    Приветствую, я столкнулся с проблемой. Если не сложно, подскажите, где я допустил ошибку. Попробую и Ваш скрипт. Ошибка 28 VK API Application authorization failed:.... Спасибо.
  • Ошибка 28 VK API Application authorization failed: refresh service token?

    @maxsharun Автор вопроса
    Никита Полевой, Вот, вопрос в том, каким он должен быть ))) Access_token для пользователя я жу поменял, добавил при запросе scope=offline,photos,wall,audio,video,friends. Но не то. Ищу варианты. Если получится, то напишу статью с решением.
  • Ошибка при запросе к api vk?

    @maxsharun
    Такая же проблема. Я уже битый час пытаюсь побороть. Задача простая - опубликовать фото в VK, предварительно создав альбом
  • Preg_match_all не парсит, хотя регулярка правильная. Что не так?

    @maxsharun Автор вопроса
    Daria Motorina, Спасибо )) поюзаю вариант со второй регуляркой
  • Preg_match_all не парсит, хотя регулярка правильная. Что не так?

    @maxsharun Автор вопроса
    Daria Motorina, Вы из Киева? Потрясающий город )) Очень его люблю (после Краснодара) ))) Бывал в командировках и есть еще приятные воспоминания. А в Клубе 44 регулярно выступал мой знакомый Анатолий Ворон (Кешъ).
  • Preg_match_all не парсит, хотя регулярка правильная. Что не так?

    @maxsharun Автор вопроса
    Daria Motorina, Я с ценами решил, пока. Вопрос, у нас есть размеры. Как мне их получить не в строку, а в массив? Размеры могут быть указаны так:
    Размеры: 50, 60, 56
    Размеры XL, xl, xxl
    Размеры: 50 60 56
    Размеры XL xl xxl

    Просто строку я научился получать, а как получить массив:
    [
    50,
    60,
    56
    ]
    ?? Т.е. проигнорировать пробелы, запятые, точки с запятой, взять только цифры или буквенные обозначения и запихнуть их в массив? )) Извините меня неуча, что Вас донимаю ))
  • Preg_match_all не парсит, хотя регулярка правильная. Что не так?

    @maxsharun Автор вопроса
    Daria Motorina, Вопрос со смайликами, вроде бы решился:
    [Цц][Ее][Нн][Аа][^\w]+([0-9]+)[A-Z|a-z|А-Я|а-я| |₽]+

    Но с моногострочным никак. А в личку я не нашел, как написать ((
  • Preg_match_all не парсит, хотя регулярка правильная. Что не так?

    @maxsharun Автор вопроса
    Daria Motorina, Тостер как-то убирает эти смайлики. Вам можно в личку как-то кинуть ссылку, чтобы здесь не светить (заказчик против)?
  • Preg_match_all не парсит, хотя регулярка правильная. Что не так?

    @maxsharun Автор вопроса
    Daria Motorina, Это сервис так выводит. Это к тому что, работает.

    И я приведу два текста. Один с двумя пробелами перед значением цены, а второй со смайликом. Спасибо. Я тут тоже колдую ))

    Тот же многострочный текст, только в одну строку. И моя регулярка уже не находит цифру 600:
    Новинка  Потрясающие  платья  Большие Размеры 50 52 54 56 58 60  Цена  600р  В наличии на  24-118 и 22-106 БРЕНД  BY RAHEEM  У нас ткань этой модели  точь в точь как на фото и цвета   #Параметрыплатье3яруса: Ткань Лакоста тянется, очень хорошое качество ткани на Лето дышащий Качество  пошив очень хороший  Размер в размер идут Платье тропеция свободного кроя  Обхват груди: 50 размер - 102см 52 размер - 106см 54 размер - 110см 56 размер - 114см 58 размер - 118см 60 размер - 122см  Длина платье: 50 размер - 103см 52 размер - 103см 54 размер - 105см 56 размер - 105см 58 размер - 106см 60 размер - 106см руб.


    Пример со смайликом в одну строку:
    Цена: Новинка потрясающий платья  Размеры  50 52 54 56 Цена 600р В наличии только на 24 - 118  Параметры # Ткань Барби не тянется  Размер в размер идут  Платья трапеция  Длина платья 50 размер = 93см 52 размер = 93см 54 размер = 96см 56 размер = 96см  Обхват груди  50 размер = 102см 52 размер = 106см 54 размер = 110см 56 размер = 114см руб.

    Многострочный:
    Новинка потрясающий платья 
    Размеры  50 52 54 56
    Цена 600р
    В наличии только на 24 - 118
    
    Параметры #
    Ткань Барби не тянется 
    Размер в размер идут 
    Платья трапеция
    
    Длина платья
    50 размер = 93см
    52 размер = 93см
    54 размер = 96см
    56 размер = 96см
    
    Обхват груди 
    50 размер = 102см
    52 размер = 106см
    54 размер = 110см
    56 размер = 114см
  • Preg_match_all не парсит, хотя регулярка правильная. Что не так?

    @maxsharun Автор вопроса
    Daria Motorina, если ставить модификатор u, то это работает с однострочным текстом, но опять же есть вопрос по пропуску смайликов и т.п. Многострочный не ищет ((( Есть идеи?