Как передать данные в запросе на получение php API хит? - PullRequest
0 голосов
/ 11 февраля 2020

Я передаю данные в разделе тела почтальона с запросом «GET» с этим URL: «http://localhost: 8888 / wordpress / wp-json / gh / v3 / contacts ». необработанные данные в теле, которые я передаю:

 {
 "query": {
    "tags_include" : "92"
 }
}

, это вернет всех студентов, у которых есть идентификатор тега "92", без этих необработанных данных тела ссылка "http://localhost: 8888 / wordpress / wp-json / gh / v3 / contacts"вернет всех студентов, присутствующих в базе данных. теперь мой запрос я пытаюсь передать этот раздел тела в моем коде что-то вроде этого:

$tag_args = array(
        "query" => array(
        "tags_include"=>$tag_id
        )
    );
$all_tag_students = $gr->get_tag_contact($tag_args);

и get_tag_contact - это функция, которая обращается к URL "http://localhost: 8888 / wordpress / wp -json / gh / v3 / contacts"с телом

 {
 "query": {
 "tags_include" : "92"
 }
}

вот функция, которую я создал для этой работы:

  function get_tag_contact($tag_args){
    $emails = array();
    $args = $this->args;
    $args['method'] = 'GET';
    $args['body'] = json_encode($tag_args);
    $response = wp_remote_get($this->apiurl.'contacts',$args);
    $body = json_decode( wp_remote_retrieve_body( $response ) );
    if(!empty($body)){
        foreach ($body->contacts as $contact) 
        {
            $emails[] = $contact->data->email;
        }
        return $emails;
    }
}

но проблема здесь возвращает ли он всех студентов, а не только указанного c студента, который содержит идентификатор

 Array
(
   [query] => Array
    (
        [tags_include] => 92
    )

)

, как мне найти студента, который содержит идентификатор "92", только то, что мне здесь не хватает?

1 Ответ

0 голосов
/ 11 февраля 2020

Я нашел ошибку здесь:

function get_tag_contact($tag_args){
    $emails = array();
    $args = $this->args;
    $args['method'] = 'GET';
    $args['body'] = $tag_args;
    $response = wp_remote_get($this->apiurl.'contacts',$args);
    $body = json_decode( wp_remote_retrieve_body( $response ) );
    if(!empty($body)){
        foreach ($body->contacts as $contact) 
        {
            $emails[] = $contact->data->email;
        }
        return $emails;
    }
}

Я кодирую $ tag_args.

$args['body'] = $tag_args;

Мне просто нужно удалить json_encode из этой строки, и он отлично работает.

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