Проблемы при установке string url, чей параметр строки запроса содержит символ доллара ($)
Я использую API WS JSON -
, URL -
https://api.movidesk.com/public/v1/persons?token=52ee6ca5-8639-422b-bafe-470013c11176&$filter=profileType eq 2
- это пример API документация проходит. при игре в браузере располагается
https://api.movidesk.com/public/v1/persons?token=52ee6ca5-8639-422b-bafe-470013c11176&$filter=profileType%20eq%202
, Но информация отображается
Моя проблема в том, когда я буду использовать API в PHP
Например,
<?php $json = file_get_contents("https://api.movidesk.com/public/v1/persons?token=52ee6ca5-8639-422b-bafe-470013c11176&$filter=profileType%20eq%202");
$cliente = json_decode($json);
возвращает Мне следующее сообщение об ошибке
Notice: Undefined variable: filter in C:\xampp\htdocs\Maps\json.php on line 54
Warning: file_get_contents(https://api.movidesk.com/public/v1/persons?token=52ee6ca5-8639-422b-bafe-470013c11176&$filter=profileType%20eq%202): failed to open stream: HTTP request failed! HTTP/1.1 500 Internal Server Error in C:\xampp\htdocs\Maps\json.php on line 54
1 answers
Насколько я понимаю, параметр url-адрес имеет значение, называемое $filter
.
На участке, где вы пытаетесь сделать запрос с помощью file_get_contents
, вы используете двойные кавычки. Когда вы это сделаете, PHP интерпретирует значения, которые начинаются с $
в качестве значения переменной.
Это произошло потому, что вы используете двойные кавычки. Используйте только одинарные кавычки, что решит проблему.
$json = file_get_contents('https://api.movidesk.com/public/v1/persons?token=52ee6ca5-8639-422b-bafe-470013c11176&$filter=profileType%20eq%202');
$cliente = json_decode($json);
Для получения дополнительной информации, пожалуйста, прочитайте: