Bloomberg API: поле не разрешено пользователям подачи данных

Я использую API Bloomberg (C ++), чтобы сделать проект.
Я уже смог отправить запрос с личностью.
Например, я отправляю запрос так:

    Request request = session.createRequest("ReferenceDataRequest");
request.append("securities", "IBM US Equity");
request.append("fields", "PX_LAST");
session.sendRequest(request, identity, CorrelationId(20));

После отправки этого запроса я получаю ответ.
Но когда я освобождаю ответ, я всегда получаю исключение: «NO_AUTH, поле не разрешено пользователям с подачей данных».
функция для обработки ответа:

void handleResponseEvent(Event e, Identity identity)
{
MessageIterator msgIter(e);
while (msgIter.next())
{
Message message = msgIter.message();
message.print(cout);
}
}

Я знаю, что это не правильно, потому что я не использовал «идентичность». Я думаю, именно поэтому я получил исключение «NO_AUTH».
Подскажите, пожалуйста, как выпустить ответ с удостоверением личности?

Чтобы уточнить — я использую B-PIPE, а не D-API, для подключения к Bloomberg.

1

Решение

Используя B-PIPE, вы убедились, что ваш OS_LOGON или же APPLICATION авторизованы для данных, которые вы запрашиваете?

Если вы загрузите пакет B-PIPE из WAPI, появится демонстрационное приложение (Windows), которое можно использовать для проверки учетных данных для входа в систему независимо от кода, который вы можете использовать …

/path/to/BPipe/APIv3/bin/BLPAPIDemo.exe

Установите тип аутентификации, хост и порт:

введите описание изображения здесь

Затем протестируйте запрос данных, установив тикеры / поля / даты и нажав кнопку «Выполнить»:

введите описание изображения здесь

Если вы получили ошибку — например, Проблемы с разрешением EID — вы знаете, что у вас нет аутентификации для этих данных. Если это так, вам необходимо связаться с менеджером B-PIPE в вашей фирме / представителем Bloomberg.

Если вы не получили ошибку / действительно получили данные, значит, проблема в вашем коде где-то …

0

Другие решения

Как вы инициализируете параметр «identity», который передается в sendRequest ()? Если вы используете Desktop Api (DAPI), то параметр идентичности не требуется, и запрос может быть отправлен следующим образом:

session.sendRequest(request, CorrelationId(20));
1

По вопросам рекламы [email protected]