Поиск API freelancer.com по фильтру or_search_query

Мне нужно получить проекты из freelancer.com API, который содержит любые слова из списка. Кажется, что or_search_query фильтровать метод поиска проекта не работает.

<?php

$url = 'https://www.freelancer.com/api/projects/0.1/projects/active/';
$params = array(
'or_search_query' => 'scraper scraping scrap scrapy',
'languages' => array('en'),
);
$params = http_build_query($params);
$params = preg_replace('/%5B[0-9]+%5D/', '%5B%5D', $params); // param[1] -> param[]
$url = $url . '?' . $params;
var_dump(urldecode($url)); // https://www.freelancer.com/api/projects/0.1/projects/active/?or_search_query=scraper scraping scrap scrapy&languages[]=en

$json = json_decode(file_get_contents($url), true);
if ($json) {
foreach ($json['result']['projects'] as $project) {
echo '<a href="https://www.freelancer.com/projects/' . $project['seo_url'] . '">' . $project['title'] . '</a><br />';
}
}

Этот код дает мне работу, которая не имеет отношения к «чистке». Что я делаю неправильно?

2

Решение

Предполагая, что вы используете API правильно, когда вы делаете запрос curl? Я не вижу этого в коде. Вы формируете URL в переменной $ url, затем декодируете URL и затем используете json_decode расшифровать эту информацию. Что возвращается оттуда? Вы можете предоставить это?

Если вы на самом деле не делаете никаких запросов, я советую вам воспользоваться библиотекой Guzzle: http://docs.guzzlephp.org/en/latest/ Это сделает вашу жизнь проще при отладке. Я надеюсь, что вы используете отладчик вместо var_dumps потому что это сделает вещи намного понятнее для вас.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]