PHP Curl URL $ Filter - PullRequest
       3

PHP Curl URL $ Filter

0 голосов
/ 22 февраля 2019

Попытка отфильтровать запрос CURL, и я не могу заставить его что-либо сделать.Вот что у меня есть.

curl_setopt_array($ch, array(
    CURLOPT_URL => "https://api.adp.com/hr/v2/workers?$filter=workers/workAssignments/assignmentStatus/statusCode/codeValue%20eq%20%27A%27",
    CURLOPT_SSLCERT => $auth['cert'],
    CURLOPT_SSLKEY => $auth['key'],
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "gzip",
    CURLOPT_POST => "",
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => array(
    'Authorization: Bearer ' . $ADP_token,
    'Accept: application/json',
  ),
));

Я знаю, что у меня есть правильная информация в URL, но это все равно возвращает все результаты.URL работает в POSTMAN.

Не уверен, что это помогает, но curl_getinfo () возвращает URL, пропускающий $filter:

[url] => https://api.adp.com/hr/v2/workers?=workers/workAssignments/assignmentStatus/statusCode/codeValue%20eq%20%27A%27

Я также не могу получить простые записи $ topна работу, которая выглядит как ниже.Исходный URL - https://api.adp.com/hr/v2/workers?$top=5

curl_get_info () ниже

[url] => https://api.adp.com/hr/v2/workers?=5

Ответы [ 2 ]

0 голосов
/ 22 февраля 2019

Изменение

CURLOPT_URL => "https://api.adp.com/hr/v2/workers?$filter=workers/workAssignments/assignmentStatus/statusCode/codeValue%20eq%20%27A%27"

на

CURLOPT_URL => 'https://api.adp.com/hr/v2/workers?$filter=workers/workAssignments/assignmentStatus/statusCode/codeValue%20eq%20%27A%27'

0 голосов
/ 22 февраля 2019

Вы уверены в этом коде?Если вы сбросите URL-адрес, по которому вы звоните, вы обнаружите ошибку:

CURLOPT_URL => "https://api.adp.com/hr/v2/workers?$filter=workers/workAssignments/assignmentStatus/statusCode/codeValue%20eq%20%27A%27"

Итак, вы используете переменную $filter в строке в двойных кавычках, что приводит к переменная подлежит замене.Что содержит $filter?Возможно, он даже не определен?

Если вы хотите продолжать использовать этот точный URL-адрес, но не заменять $filter его содержимым, вы должны использовать одинарные кавычки.Это оставляет строку в точности такой, какая она есть, и не заменяет переменную (которая не должна была быть переменной)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...