Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Invalid http status: 414 #118

Open
Alexsisukin opened this issue Sep 13, 2024 · 2 comments
Open

Invalid http status: 414 #118

Alexsisukin opened this issue Sep 13, 2024 · 2 comments

Comments

@Alexsisukin
Copy link

Alexsisukin commented Sep 13, 2024

$response = $this->client->post("{$this->host}/{$method}?" . http_build_query($params));

Получаю 414 ответ от api ранее использовал этот метод без проблем , судя из документации данные должны передаваться в теле запроса , но они в клиенте передаются query_string, это ошибка ?
данные которые пытаюсь передать методом \VK\Actions\Ads::createAds

array (
  'campaign_id' => 1030560917,
  'ad_format' => 9,
  'autobidding' => 1,
  'cost_type' => 3,
  'goal_type' => 2,
  'ad_platform' => 'all',
  'ad_platform_no_ad_network' => 1,
  'day_limit' => 100,
  'all_limit' => 0,
  'category1_id' => 424,
  'category2_id' => 0,
  'age_restriction' => 0,
  'status' => 1,
  'name' => 'Пост. Гео Москва + Ключи',
  'title' => '',
  'description' => '',
  'link_url' => 'http://vk.com/wall-123624579_131732',
  'link_domain' => '',
  'geo_near' => '55.87508,37.50269,10000,улица Бусиновская Горка, 1Ес1;55.81205,37.76036,10000,2-й Иртышский проезд, 4с1;56.87265,37.35827,40000,Кимры;55.68395,37.58529,40000,(55.68395, 37.58529);56.28000,38.10043,40000,(56.28000, 38.10043);56.33216,37.37533,30000,(56.33216, 37.37533);56.00449,37.04574,30000,(56.00449, 37.04574);55.79327,38.29683,40000,(55.79327, 38.29683);55.91466,36.85901,40000,Истра;55.48484,37.30556,40000,Троицк;55.43113,37.54499,40000,Подольск;56.30335,36.65568,40000,городской округ Клин',
  'geo_point_type' => 'regular',
  'groups_not' => '123624579',
  'key_phrases' => 'пламегаситель|удаление катализатора|замена катализатора|катализатор автомобиля|катализатор евро|прием катализаторов|катализатор обманка|зонд катализатора|скупка катализаторов|тюнинг катализатора|удалить катализатор|керамический катализатор|катализаторы бесплатно|сдать катализаторы|чип тюнинг катализатора|замена гофры глушителя|удаление катализатора бесплатно|вместо катализатора|запчасти катализатор|катализатор hyundai|удаление катализатора чип тюнинг|катализаторы пламегасители|прошивка после удаления катализатора|установка катализатор|чип тюнинг автомобилей|катализаторы цена|убрать катализатор|катализатор москва|катализатор дорого|катализатор прошивки|удалить катализатор бесплатно|авто катализатор|катализатор kia|без катализатора|покупка катализаторов|такое катализаторы|катализатор шевроле|можно удалять катализатор|продать катализатор автомобиля|удалить катализатор в москве|катализатор нейтрализатор|сдать автомобильный катализатор|katalizator|катализатор солярис|катализатор двигателя|катализаторы купить|на каком пробеге удалять катализатор|забитый катализатор|католизатор|контрактный катализатор|катализатор двс|пункт приема катализаторов|удалить катализатор своими руками|удалить катализатор отзывы|зачем удалять катализатор|установить катализатор|катализатор киа|нужно ли удалять катализатор|чип тюнинг двигателя|катализатор в автомобиле|вырезать катализатор|стоит ли удалять катализатор|отключить катализатор|катализатор автомобильный цена|катализатор киа рио|стоимость катализаторов|катализатор ниссан|удаление катализатора автомобиля|хочу продать катализатор|бесплатное удаление катализатора|продать керамический катализатор|катализатор хендай|чип тюнинг авто|надо ли удалять катализатор|сажевый катализатор|продать выгодно катализаторы|цены бу катализаторы|катализатор купить цена|снять катализатор|приемка катализаторов|катализатор тойота|катализатор продать бу|удалять ли катализатор|прошить катализатор|заменит катализатор|продать катализатор цена|удалить катализатор kia|где удалить катализатор|фильтр катализатора|катализатор рио|катализатор расход|такое катализатор автомобиле|цена авто катализатор|куплю бу катализатор|катализатор машине|удаление катализатора киа|катализатор бу|удалить катализатор обманка|нужно ли удалять катализатор на автомобиле|удалить катализатор тойота|цена б у катализатора|удалить катализатор цена|продать отработанные катализаторы|пламягаситель|замена катализатора пламегаситель|удалить катализатор видео|продать катализатор|продать катализатор б у|катализатор автомобильный|катализатор форд|прием бу катализаторов|удалить катализатор и прошить|продать катализатор дорого|продать катализатор в москве|переработка катализаторов|что такой катализатор|авито продать катализатор|пламя гаситель|удалить катализатор hyundai|убираем катализатор|удалить катализатор киа|продам катализаторы бу цена|пламягоситель|стоимость катализатора продать|принимаем катализаторы цена|продать катализатор в москве цена|удаление катализатора на форд фокус 2|удаляем катализатор логан|продать катализатор в москве дорого|удалить катализатор киа рио|продать старый катализатор|удалить катализатор на солярисе|сдать катализатор цена за кг|скупка катализаторов цена за кг|катализатор продать цена за кг|продать катализатор автомобильный|продать катализатор авто|катализатор автомобильный продать в москве|стоимость бу катализатора|продать катализатор б у цена|катализаторы автомобильные цена продать|продам катализатор отработанный цена|продать катализатор автомобильный бу|продать катализатор автомобильный бу цена|продам катализатор бу москве|продать катализатор автомобильный бу в москве|продам катализатор бу москве цена|продать отработаны катализатор|продать катализатор автомобильный в москве цена|продать катализатор в москве бу автомобильный цена|продать бэушный катализатор|сколько стоит катализатор продать цена|за сколько можно продать старый катализатор|где продать катализатор от глушителя|продать катализаторы',
  'key_phrases_days' => 30,
  'conversion_event_id' => 1,
)
@NickArcher
Copy link

NickArcher commented Sep 24, 2024

Получаю 414 ответ от api ранее использовал этот метод без проблем , судя из документации данные должны передаваться в теле запроса , но они в клиенте передаются query_string, это ошибка ?

@Alexsisukin
Удалось решить проблему?

@Alexsisukin
Copy link
Author

Alexsisukin commented Oct 8, 2024

Получаю 414 ответ от api ранее использовал этот метод без проблем , судя из документации данные должны передаваться в теле запроса , но они в клиенте передаются query_string, это ошибка ?

@Alexsisukin Удалось решить проблему?

@NickArcher да...
Пришлось наследовать класс \VK\Client\VKApiRequest и в наследнике изменять метод post \VK\Client\VKApiRequest::post
Получилось примерно вот так

public function post(string $method, string $access_token, array $params = []): mixed
    {
        $query_data = [
            self::PARAM_VERSION      => $this->version,
            self::PARAM_ACCESS_TOKEN => $access_token,
            self::PARAM_LANG         => $this->language,
        ];
        try {
            $response = $this->client->post(
                "{$this->host}/{$method}?" . http_build_query($query_data),
                [
                    'form_params' => $params,
                ]
            );
 
            if ($response->getStatusCode() !== static::HTTP_STATUS_CODE_OK) {
                throw new VKClientException("Invalid http status: {$response->getStatusCode()}");
            }

            $body = $response->getBody()->getContents();
            $decode_body = $this->decodeBody($body);

            if (isset($decode_body[static::KEY_ERROR])) {
                $error = $decode_body[static::KEY_ERROR];
                $api_error = new VKApiError($error);
                throw ExceptionMapper::parse($api_error);
            }

            if (isset($decode_body[static::KEY_RESPONSE])) {
                return $decode_body[static::KEY_RESPONSE];
            }

            return $decode_body;
        } catch (\Exception $exception) {
            throw new VKClientException($exception);
        }
    }

Очень странно что в sdk параметры передаются в query_string, а не в теле запроса , надеюсь это исправят

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants