Перейти к содержанию
IPS Invision Community 🇷🇺
  • Документация по GraphQL

    Документация по GraphQL

    Введение

    IPS4 предоставляет обширный API GraphQL, позволяющий создавать приложения и интеграции, которые расширяют и улучшают ваше сообщество.

    Использование GraphQL вне Invision Framework

    Если вы хотите использовать GraphQL API за пределами IPS Framework, вам необходимо создать клиент oAuth и предоставить ему доступ к GraphQL.

    При использовании ключа идентификатора клиента все запросы выполняются от имени пользователя или, в качестве альтернативы, вы можете использовать необработанный ключ API и использовать $_SERVER['HTTP_X_IPS_ACCESSTOKENMEMBER'] его для установки определенного члена, который будет использоваться в качестве участника, вошедшего в систему в данный момент.

    При использовании oAuth все запросы выполняются от имени конкретного члена.

    Конечная точка для выполнения запросов — https://www.example.com/api/graphql.

    Простой пример получения информации о клубе из клуба с идентификатором 1:

    require_once 'init.php';
    $key = "f7f7ccea934691456ca45f873800688d";
    
    $query = "{core{club(id:1){name}}}";
    $result = \IPS\Http\Url::external( rtrim( \IPS\Settings::i()->base_url, \'/\' ) . \'/api/graphql/index.php\' )->request()->login( $key, "" )->post(
            array(\'query\' => $query)
        )->decodeJson();
    
    print_r($result);

    Возвращает

    Массив ( [данные] => Массив ( [core] => Массив ( [club] => Массив ( [name] => test ) ) ) )

    Использование GraphQL внутри Invision Framework с внутренними методами

    Запросы можно запускать в шаблонах с помощью graphql помощника по шаблонам.
    Например {graphql='{core{me{name,email,url}}}'}, вернет объект JSON с именем, адресом электронной почты и URL-адресом профиля участника, вошедшего в систему в данный момент {"core":{"me":{"name":"admin","email":"daniel@local","url":"http:\/\/localhost\/featurebranch\/index.php?\/profile\/1-admin\/"}}.
    Внутри кода PHP Userland вы можете использовать этот \IPS\Api\GraphQL::execute( $query, $variables ) метод для запуска запросов и мутаций.

    Было ли это полезно?

    Sipsb

    Обратная связь

    Рекомендуемые комментарии

    Комментариев нет



    Создайте учетную запись или войдите, чтобы комментировать

    Вы должны быть пользователем, чтобы оставить комментарий

    Создать аккаунт

    Зарегистрируйтесь для получения аккаунта. Это просто!

    Зарегистрировать аккаунт

    Войти

    Уже зарегистрированы? Войдите здесь.

    Войти
×
×
  • Создать...

Важная информация

Мы используем файлы cookie и другие средства сохранения предпочтений и анализа действий посетителей сайта. Нажмите «Принять», если даете согласие на это. Политика конфиденциальности - Условия использования

Вверх
Вверх