Bloomberg API - Как получить права пользователя на подписку - PullRequest
0 голосов
/ 12 декабря 2018

Я просто пытаюсь проверить права пользователя для данных подписки пользователя из каналов данных bloomberg api.

Для этого я попытался запустить пример Bloombergs "EntitlementsVerificationSubscriptionExample".Так как кажется, что это работает с первого взгляда, с второго взгляда я понял, что нет никаких прав на данные, которые я получаю от API.

, что означает:

public void processSubscriptionDataEvent(Event eventObj, Session session)
        {

            foreach(Message msg in eventObj)
            {

                bool needsEntitlement = msg.HasElement(Name.GetName("EID"));   
            }

             }

всегда «ложь», так как поле «EID» никогда не доступно.

Есть ли что-то не так на сайте службы Bloomberg или лучше, есть ли какая-либо доступная документация, как использовать права пользователя в данныхподписки?

заранее спасибо,

1 Ответ

0 голосов
/ 14 декабря 2018

Во-первых, вам необходимо подписаться на поле «EID», так как оно не возвращается по умолчанию.

Если поле либо не возвращено в сообщении, либо имеет нулевое значение, то это означает, что данные вэто сообщение не требует прав.В противном случае вызовите следующую функцию и передайте значение EID:

bool bEntitled = userIdentity.hasEntitlements(EID);

Возвращаемое значение функции указывает, имеет ли пользователь право или нет.

Данные, для которых не требуются права, могут быть переданы пользователям, которыезарегистрированы в EMRS (в случае B-Pipe) или у любого пользователя терминала в фирме (в случае SAPI) без дальнейшей проверки прав.Пользователи, не зарегистрированные в EMRS, или пользователи, не являющиеся пользователями терминалов, не должны иметь доступа ни к данным B-Pipe, ни к данным SAPI, соответственно.

...