dragan2011
@dragan2011
Интернет-маркетолог любящий покодить ;)

Ошибка 100 в API VK ShortLink как исправить?

При сокращении ссылок получаю в ответ ошибку 100 - один из необходимых параметров был не передан или неверен.

Ссылки сокращает, но не все и выборочно, если повторно вставить те ссылки что не сократил, сокращает без проблем.
Делал все по документации. В чем проблема не пойму. Метод: Utils.

<?php
$token = '73dda6c273dda6c273dda6c20973a4d96a773dd73dda6c2128ea028410e86eb57dabafb';
if(isset($_POST['links'])){
    if(empty($_POST['links'])){
        $result = '';
    }
    else{
        $links = explode(PHP_EOL, $_POST['links']);
        $links = array_unique($links, SORT_REGULAR);
        $arr = array();
        for($i = 0; $i < count($links); ++$i) {
            if(empty($_POST['private'])) {
                $query = file_get_contents("https://api.vk.com/method/utils.getShortLink?url=".urlencode($links[$i])."&access_token=".$token."&v=5.131");
            }
            else {
                $query = file_get_contents("https://api.vk.com/method/utils.getShortLink?url=".urlencode($links[$i])."&private=1&access_token=".$token."&v=5.131");
            }
            $result = json_decode($query,true);
            if($result['error']['error_code']){
                $result = '';
            }
            else{
                array_push($arr, $result['response']['short_url']);
            }
            $arr = array_unique($arr, SORT_REGULAR);
            $send = implode(PHP_EOL, $arr);
        }
    }
}
?>


Может кто-то сталкивался с такой ошибкой или разбирается, пожалуйста помогите.
  • Вопрос задан
  • 132 просмотра
Решения вопроса 1
vechnokrainii
@vechnokrainii
ну почти всегда(
Тоже долго втыкался с вк. Например при загрузке фоток, не совсем корректно написана документация. Пришлось раскуривать их SDK и еще пару проектов на гихабе. Попробуй guzzle. Так удобнее собирать данные для формы.
Плюс в документация указан пример как передавать данные. Вполне возможно что вк просто не видит твои параметры
$user_id = 210700286;
$request_params = array(
'user_id' => $user_id,
'fields' => 'bdate',
'v' => '5.52',
'access_token' => '533bacf01e11f55b536a565b57531ac114461ae8736d6506a3'
);
$get_params = http_build_query($request_params);
$result = json_decode(file_get_contents('https://api.vk.com/method/users.get?'. $get_params));
echo($result -> response[0] -> bdate);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы