Как получить documentID в Restful API Business Objects? - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь выяснить, как загрузить PDF из API-интерфейса BOE.

Я следую ответ от ƘɌỈSƘɌỈ здесь: SAP BI Open Doc URL для получения pdf

Мне удалось выполнить шаг 1 (получение токена).

Но на втором шаге упоминается использование documentID.

например,

/biprws/raylight/v1/documents/5690743/parameters

Если в пользовательском интерфейсе BOE щелкнуть отчет и выбрать «Свойства», он показывает, что «ID / CUID»:

ID, CUID: 746001, AdgNq_GsaqhOqnzc4gRN_Jg

Означает ли это, что «DocumentID» равен 746001?

Я не уверен, что использую правильный идентификатор, потому что когда я нажимаю: / biprws / raylight / v1 / documents / 746001 / parameters

, я получаю:

<error>
   <error_code>100</error_code>
   <message>Rule not respected (Argument 'reportIds' must not be null)</message>
</error>

1 Ответ

1 голос
/ 11 июля 2019

Вам не нужно получать оперативную информацию (/ конечную точку параметров).

Я думаю, что вы используете правильный идентификатор, так как ошибка в отчете. Вы получите 404 Not Found статус ответа, если документ не существует.

После успешного входа в систему просто позвоните /biprws/raylight/v1/documents/5690743 и добавьте к вашему запросу заголовок с именем Accept и значением application/pdf. Конечно, X-SAP-LogonToken также должны быть предоставлены.

Будет экспортирован весь документ. Если вам нужен только конкретный отчет, сначала вам нужно получить его идентификатор. Вызовите URI /biprws/raylight/v1/documents/5690743/reports с заголовком Accept, равным application/json.

Выберите один из отчетов и получите его идентификатор (например, в моем случае reportID равен 1234). Затем вы можете экспортировать отчет в формате PDF, вызвав URI: /biprws/raylight/v1/documents/5690743/reports/1234 с заголовком Accept, равным application/pdf.

...