Канал Одата не подключается в PowerBI или Excel - PullRequest
1 голос
/ 12 марта 2019

У меня есть настройка подачи OData в веб-приложении asp.net.Приложение использует Azure AD для аутентификации, поэтому я планировал передать токен носителя внутри скрипта PowerBI, как описано здесь:

https://community.powerbi.com/t5/Desktop/Power-BI-Desktop-Unable-to-pull-from-OData-feed-using-Token/td-p/129714

Фид работает нормально, например, через Fiddler,передавая токен на предъявителя и вызывая его.Но если я использую PowerBi или Excel, это выдает мне следующую ошибку:

DataSource.Error: Microsoft.Mashup.Engine1.Library.Resources.HttpResource: Request failed: 
OData Version: 3 and 4, Error: The remote server returned an error: (400) Bad Request. (Bad Request)
OData Version: 4, Error: The remote server returned an error: (400) Bad Request. (Bad Request)
OData Version: 3, Error: The remote server returned an error: (400) Bad Request. (Bad Request)
Details:
    DataSourceKind=OData
    DataSourcePath=https://localhost:8401/odata/Persons

Когда я редактирую разрешения источника данных, я пробовал анонимный доступ.Я не могу использовать базовые учетные записи авторизации или организации, поскольку они не работают с AzureAD.Я настроил свой контроллер так, используя AllowAnonymous, хотя в любом случае я передаю токен-носитель, и он работает в Fiddler:

    [AllowAnonymous]
    public class PersonsController : ODataController
    {

        public PersonsController()
        {
        }

        [EnableQuery(PageSize = 20, AllowedQueryOptions = AllowedQueryOptions.All)]
        public IQueryable<Persons> Get()
        {
            return new List<Persons>
            {
                new Persons
                {
                    Forename = "john",
                    Surname = "smith"
                },
                new Persons
                {
                    Forename = "john",
                    Surname = "smith"
                }
            }.AsQueryable();
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...