Введение
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
Рекомендуемые комментарии
Комментариев нет
Создайте учетную запись или войдите, чтобы комментировать
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти