Как получить ContentID из записи? - PullRequest
0 голосов
/ 27 марта 2019

У меня есть метаданные всех обязательных полей и модулей / уровней. Я пытаюсь использовать контент / контент REST API для получения подробностей об одной записи. Когда я звоню и использую идентификатор для этой записи (номер билета), он ничего не возвращает.

Однако, если я перейду к записи в графическом интерфейсе, изучу HTML и найду contentid, я найду совершенно не связанную строку. Если я ввожу эту строку в вызов API, она возвращает эту запись.

Когда я ищу с этим contentID, вывод содержит

"RequestedObject": {
   "Id": X,
   "LevelId": Y,
   "SequentialId": Z,
} 

Где "ID":X - это то, что кажется случайным образом сгенерированным числом, а "SequentialId":Z - это идентификатор записи.

Если я посмотрю на метаданные для полей, номер заявки будет иметь значение "IsKey":True. Никаких других полей нет.

Любые предложения будут полезны.

Ответы [ 2 ]

1 голос
/ 28 марта 2019

С помощью API ContentID является значением из поля Tracking Id (настроенного как System ID).

Затем, когда вы вызываете / api / core / content / добавляете идентификатор отслеживания / содержимого в конец, какИтак, / api / core / content / 12345

Полученный вами json покажет, что

{
  "Links": [],
  "RequestedObject": {
    "Id": 12345,
    "LevelId": 41,
    "SequentialId": 1,
    "FieldContents": {
      "50": {
        "Type": 6,
        "FieldId": 50,
        "UpdateInformation": {
          "CreateDate": null,
          "UpdateDate": null,
          "CreateLogin": null,
          "UpdateLogin": null
        }
      },
      ....
}

"Id:" будет показывать тот же идентификатор отслеживания / контента, который вы указали в API.

Тогда в "FieldContents:" содержатся все поля в приложении и связанные с ними данные.

0 голосов
/ 28 марта 2019

Если вы полностью настроены на использование REST API, вам, вероятно, стоит взглянуть на свой TrackingID.Если ваш идентификатор отслеживания настроен как системный идентификатор, это будет ваш идентификатор контента.Если ваш идентификатор отслеживания не установлен в качестве идентификатора системы (скорее он будет ограничен, чтобы быть уникальным для приложения), я рекомендую вам добавить еще один идентификатор отслеживания в ваше приложение, которое является общесистемным.Если вы не хотите вносить какие-либо изменения, вы все равно можете получить свой contentID, но вам придется использовать вызов ExecuteSearch WebServices.Просто убедитесь, что вы ищете в ключевом поле, чтобы предотвратить получение нескольких записей в вызове.Оттуда вы получите свой contentID (в формате XML) и сможете продолжить вызов REST, как и планировалось.

...