Как сохранить ответ, сгенерированный при вызове api в базу данных mysql в wordpress

Я новичок в понимании языков программирования и начал изучать вещи с помощью wordpress. Я пытаюсь интегрировать платежный шлюз и могу сгенерировать access_token и refresh_token, которые мне нужно сохранить в моей базе данных для дальнейших вызовов API для платежей и обновления данных пользователя.

Ниже приведен мой код для создания токенов. Пожалуйста, помогите, как сохранить значения токенов в базе данных. Я попытался воспроизвести код регистра WordPress для вставки значений, но не удалось.

    <?php
    session_start();
    include_once "page-signup.php";

    $curl = curl_init();
    curl_setopt_array($curl, array(
    CURLOPT_URL => "https://test.instamojo.com/oauth2/token/",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "POST",
    CURLOPT_POSTFIELDS =>  
    "client_id=gC4z8rBV55SDiavZobpvZCcanwK3mbnY
    &client_secret=dYFbCXaX9WUy1c3kkCXV8JRJkTxmLcxCXwncVKWlWsh8c0QOI
    5Uz30PCzOieC879RT7PLsEwrRKZDvZXqYpF5fZiE2Z62z3dly7p7ZUbGHTmOWmBsh3
    &grant_type=password
    &username=$username
    &password=$password",
    CURLOPT_HTTPHEADER => array(
    "Cache-Control: no-cache",
    "Content-Type: application/x-www-form-urlencoded",
      ),
      ));
    $response = curl_exec($curl);
    $err = curl_error($curl);

    curl_close($curl);

    if ($err) {
    echo "cURL Error #:" . $err;
        } else {

    $json_decode=json_decode($response,true);
    $refresh_token=$json_decode['refresh_token'];
    $access_token=$json_decode['access_token'];
      }


    echo $response;


     ?>

Не могли бы вы уточнить меня: опубликованный вами код возвращает значение json, например {token: this_is_your_token}, и вы хотите сохранить this_is_your_token в базе данных wordpress для использования позже?

stefano 23.04.2018 14:34

да, Стефано. он генерирует токен, как вы упомянули, и ответ добавлен здесь ниже для вашей справки. {"access_token": "t1Hah9VSyRhUYoi4HQwNvWgAo3NrmQ", "expires_in": 36000, "token_type": "Bearer", "scope": "читать, писать выплаты: читать платежи: читать платежи: выполнять платежи: возмещать", "refresh_tokenz": "ajNhGiTYF "} и мне нужно использовать токены позже, извлекая их из базы данных. Я тоже пытаюсь понять, как восстановить. Я создал два поля для вышеуказанного в таблице wp_user .... не слишком уверен, прав ли я

Ravi 23.04.2018 17:21
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
2
371
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вероятно, лучший способ сохранить и получить эту информацию из wordpress db - использовать API опций: с помощью только одной команды, которую вы можете сохранить, получить и удалить токен. Обычно параметры wordpress используют нормализованный массив, но вы также можете хранить непосредственно токен json или просто строку.

Спасибо Стефано за информацию. Однако мне нужно глубже копнуть и понять упомянутые концепции, поскольку у меня нет знаний об их использовании.

Ravi 24.04.2018 11:37

Это очень просто: просто add_option ($ option, $ value); delete_option (опция $); get_option ($ option);

stefano 24.04.2018 18:19

Спасибо, Стефано, попробую. На самом деле я попытался поместить всю строку в functions.php дочерней темы ... возможно, причина, по которой это не сработало, или в том, что мне нужно разместить строку в приведенном выше коде ...?

Ravi 25.04.2018 18:46

Я попытался добавить строки в код, но не смог определить значения в базе данных. может быть, я не ввожу правильное название опции ...

Ravi 25.04.2018 19:09

Спасибо Стефано, я смог получить access_token, хранящийся в базе данных, используя имя пользователя в качестве опции. Я добавил две строки, вторую для токена обновления, но не смог найти значения в базе данных .... каков правильный формат для хранения значения refresh_token (я имею в виду несколько значений параметров)

Ravi 25.04.2018 19:17

Привет, Стефано, я мог бы хранить access_token и refresh_token, используя разные имена параметров. Попытка понять, будут ли сохраненные access_token и refresh_token применяться к соответствующему пользователю, когда мы используем get_option при обновлении данных пользователя и создании ссылки для оплаты .... будет ли идентификатор, сгенерированный во время регистрации, работать как идентификатор ...?

Ravi 26.04.2018 04:54

Параметр хранится под своим именем и не зависит от пользователя; вы можете использовать имя пользователя для создания имени опции, если хотите получить значение, зависящее от пользователя. (Не знайте, если этот ответ на ваш вопрос ... Надеюсь, что да)

stefano 26.04.2018 09:09

Истинный Стефано, я хочу получить пользовательские значения, пока я делаю запрос на обновление пользовательских данных / создание платежной ссылки. Можно ли это сделать, и если да, то какой код мне нужно использовать. а также то, что я не могу сохранить два значения с одним и тем же параметром имени пользователя для имени параметра ... есть ли способ сделать это, а также то, что этот процесс запускается после того, как пользователь зарегистрирован и вошел в систему ... поэтому я думаю, имя пользователя или идентификатор пользователя могут быть выровнены со значением ... но не знаю, как это сделать ... пожалуйста, помогите.

Ravi 26.04.2018 15:42

Другие вопросы по теме