Рейтинг:0

Извлечение дополнительных данных о field_collection_item из REST API Drupal.

флаг lb

Я пытаюсь отобразить информацию о модулях Contributed, доступных в Drupal программно.

Для этого я пользуюсь этой документацией: https://www.drupal.org/drupalorg/docs/apis/rest-and-other-apis

Когда я вызываю API, например: https://www.drupal.org/api-d7/node.json?field_project_machine_name=ctools

Взамен я получаю объект JSON со следующими данными:

"field_supporting_organizations": [
                {
                    "uri": "https://www.drupal.org/api-d7/field_collection_item/1381907",
                    "id": "1381907",
                    "ресурс": "field_collection_item"
                }
],

Теперь я хочу извлечь больше данных об этом элементе коллекции полей, но не могу найти для этого подходящие фильтры API.

Любая помощь приветствуется.

Рейтинг:2
флаг us

Чтобы извлечь больше информации из этого элемента коллекции полей, вы просто используете URI, полученный из этих данных JSON, но добавляете .json к УРИ.
В вашем случае URI https://www.drupal.org/api-d7/field_collection_item/1381907.json, который возвращает следующие данные.

{
  "field_how_they_helped": "Техническое обслуживание",
  "field_supporting_organization": {
    "ури": "https://www.drupal.org/api-d7/node/2808667",
    "id": "2808667",
    "ресурс": "узел"
  },
  "item_id": "1381907",
  "revision_id": "1675252",
  "field_name": "field_supporting_organizations",
  "в архиве": "0",
  "url": "https://www.drupal.org/field-collection/field-supporting-organizations/1381907",
  "host_entity": {
    "ури": "https://www.drupal.org/api-d7/node/343333",
    "id": "343333",
    "ресурс": "узел"
  },
  "feeds_item_guid": ноль,
  "feeds_item_url": ноль,
  "feed_nid": ноль
}

Если затем вам нужно получить больше информации об организации, вы посетите https://www.drupal.org/api-d7/node/2808667.json, который возвращает следующие данные.

{
  "тело": {
    "value": "<p>Университет Британской Колумбии – это глобальный центр исследований и обучения, неизменно входящий в число 20 лучших государственных университетов мира. С 1915 года предпринимательский дух UBC охватывает инновации и бросает вызов quo. UBC поощряет своих студентов, сотрудников и преподавателей бросать вызов условностям, вести открытия и исследовать новые способы обучения. В UBC смелые мысли получают место для воплощения идей, которые могут изменить мир.</p>",
    "резюме": "",
    "формат": "1"
  },
  "taxonomy_vocabulary_48": [],
  "таксономия_словарь_50": [
    {
      "uri": "https://www.drupal.org/api-d7/taxonomy_term/24656",
      "id": "24656",
      "ресурс": "taxonomy_term"
    }
  ],
  "таксономия_словарь_52": [
    {
      "uri": "https://www.drupal.org/api-d7/taxonomy_term/24104",
      "id": "24104",
      "ресурс": "taxonomy_term"
    }
  ],
  "поле_бюджет": "",
  "поле_вклады": {
    "value": "<p>Веб-сервисы предлагают интеграцию Drupal для преподавателей и сотрудников, и они предоставили модуль интеграции тем и коммерческих платежных шлюзов. Кроме того, сотрудники университета вносят свой вклад в Drupal и проводят встречи для пользователей.</p >",
  "формат": "1"
  },
  "поле_ссылка": {
    "url": "https://www.ubc.ca",
    "атрибуты": [],
    "display_url": ноль
  },
  "поле_лого": {
    "файл": {
      "ури": "https://www.drupal.org/api-d7/file/5711845",
      "id": "5711845",
      "ресурс": "файл"
    },
    "alt": "Университет Британской Колумбии",
    "заглавие": ""
  },
  "field_org_marketplace_request": ложь,
  "field_org_training_request": ложь,
  "field_organization_headquarters": "Ванкувер",
  "field_organization_list_rule": "никогда",
  "field_organization_training_desc": {
    "стоимость": "",
    "формат": "1"
  },
  "field_organization_training_list": "выключено",
  "field_organization_training_url": {
    "адрес": "",
    "атрибуты": [],
    "display_url": ноль
  },
  "field_organization_technologies": "выкл",
  "field_organization_support": [],
  "field_short_description": ноль,
  "field_hosting_type": [],
  "field_org_issue_credit_count": "12",
  "field_organization_type": {
    "ури": "https://www.drupal.org/api-d7/taxonomy_term/182533",
    "id": "182533",
    "ресурс": "taxonomy_term"
  },
  "field_org_membership_status": ноль,
  "field_organization_loc_served": [],
  "нид": "2808667",
  "вид": "10103871",
  "is_new": ложь,
  "тип": "организация",
  "title": "Университет Британской Колумбии",
  "язык": "ан",
  "url": "https://www.drupal.org/the-university-of-british-columbia",
  "edit_url": "https://www.drupal.org/node/2808667/edit",
  "статус": "1",
  "продвижение": "0",
  "липкий": "0",
  "создано": "1475153665",
  "изменено": "1623042361",
  "автор": {
    "ури": "https://www.drupal.org/api-d7/user/160302",
    "id": "160302",
    "ресурс": "пользователь"
  },
  "book_ancestors": [],
  "комментарий": "1",
  "Комментарии": [],
  "comment_count": "0",
  "comment_count_new": ложь,
  "feeds_item_guid": ноль,
  "feeds_item_url": ноль,
  "feed_nid": ноль,
  "flag_flag_tracker_follow_user": [],
  "flag_tracker_follower_count": ноль,
  "has_new_content": ноль,
  "last_comment_timestamp": "1475153665",
  "проекты_поддерживается": [
    {
      "id": "3054475",
      "title": "Поддержка сопровождения",
      "ури": "https://www.drupal.org/api-d7/node/3054475"
    },
    {
      "id": "2920939",
      "title": "Отзывчивый фильтр таблиц",
      "ури": "https://www.drupal.org/api-d7/node/2920939"
    },
    {
      "id": "2724893",
      "title": "Развертывание Composer",
      "ури": "https://www.drupal.org/api-d7/node/2724893"
    },
    {
      "id": "2632164",
      "title": "Расширения Twig",
      "ури": "https://www.drupal.org/api-d7/node/2632164"
    },
    {
      "id": "2162097",
      "title": "Просматривает выборочные фильтры",
      "ури": "https://www.drupal.org/api-d7/node/2162097"
    },
    {
      "id": "1612464",
      "title": "Поставщик услуг SAML",
      "ури": "https://www.drupal.org/api-d7/node/1612464"
    },
    {
      "id": "1378306",
      "title": "Форма объекта",
      "ури": "https://www.drupal.org/api-d7/node/1378306"
    },
    {
      "id": "1173784",
      "title": "Ссылка для авторизации узла",
      "ури": "https://www.drupal.org/api-d7/node/1173784"
    },
    {
      "id": "948986",
      "title": "Положение в меню",
      "ури": "https://www.drupal.org/api-d7/node/948986"
    },
    {
      "id": "756434",
      "title": "Подсказки формы",
      "ури": "https://www.drupal.org/api-d7/node/756434"
    },
    {
      "id": "460628",
      "title": "Просмотры в естественной сортировке",
      "ури": "https://www.drupal.org/api-d7/node/460628"
    },
    {
      "id": "343333",
      "title": "Комплект инструментов Chaos (ctools)",
      "ури": "https://www.drupal.org/api-d7/node/343333"
    },
    {
      "id": "265945",
      "title": "Блок меню",
      "ури": "https://www.drupal.org/api-d7/node/265945"
    },
    {
      "id": "165016",
      "title": "Редактируемые поля",
      "ури": "https://www.drupal.org/api-d7/node/165016"
    },
    {
      "id": "161539",
      "title": "Просмотры массовых операций (VBO)",
      "ури": "https://www.drupal.org/api-d7/node/161539"
    },
    {
      "идентификатор": "92594",
      "title": "Календарь",
      "ури": "https://www.drupal.org/api-d7/node/92594"
    },
    {
      "id": "74958",
      "title": "Панели",
      "ури": "https://www.drupal.org/api-d7/node/74958"
    },
    {
      "id": "9044",
      "title": "Фильтр кода",
      "ури": "https://www.drupal.org/api-d7/node/9044"
    }
  ]
}

В общем, чтобы получить доступ к URI, возвращенному из этих данных, вам нужно добавить .json к УРИ. Например, для https://www.drupal.org/api-d7/taxonomy_term/24656, ты используешь https://www.drupal.org/api-d7/taxonomy_term/24656.json.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.