Microsoft Graph API / reports / * не работают, когда тип JSON через OData.Feed - PullRequest
0 голосов
/ 22 апреля 2020

Контекст : я пишу пользовательский соединитель данных для использования в Power BI, используя Образец соединителя MyGraph в качестве основы. Я боролся с Microsoft Graph API для получения CSV-файлов из ReportUri :

ReportUri = "https://graph.microsoft.com/beta/reports/getTeamsUserActivityUserDetail(period='D7')",

Почему я не могу заставить работать часть CSV - это основа другого вопроса. Однако в этом вопросе я сосредоточусь на использовании бета-версии Graph API, где я могу изменить Content-Type: application / octet-stream на Content-Type: application / json в следующем формате:

ReportUri = "https://graph.microsoft.com/beta/reports/getTeamsUserActivityUserDetail(period='D7')?$format=application/json"

Когда я запускаю запрос OData.Feed(ReportUri, null, [ ODataVersion = 4, Implementation = "2.0", OmitValues = ODataOmitValues.Nulls ])

Возвращается следующая ошибка : Нам не удалось разрешить имя типа 'Collection (teamsuserActivityUserDetail)' на EdmType

Запуск этого же запроса через Graph Explorer дает следующие заголовки ответа (обратите внимание, что я заменил GUID):

client-request-id: < this is a guid >
content-length: 1386
content-type: application/json;odata.metadata=minimal;odata.streaming=true;IEEE754Compatible=false;charset=utf-8
request-id: < this is a guid >

Фактический ответ: JSON - вот первые 5 строк:

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#Collection(teamsUserActivityUserDetail)",
    "value": [
        {
            "@odata.type": "#microsoft.graph.teamsUserActivityUserDetail",

Глядя в @ odata.context (XML), я нахожу следующее:

<Function Name="getTeamsUserActivityUserDetail" IsBound="true" IsComposable="true">
<Parameter Name="reportRoot" Type="graph.reportRoot"/>
<Parameter Name="date" Type="Edm.Date" Nullable="false"/>
<ReturnType Type="Collection(graph.teamsUserActivityUserDetail)" Nullable="false"/>
</Function>
<Function Name="getTeamsUserActivityUserDetail" IsBound="true" IsComposable="true">
<Parameter Name="reportRoot" Type="graph.reportRoot"/>
<Parameter Name="period" Type="Edm.String" Nullable="false" Unicode="false"/>
<ReturnType Type="Collection(graph.teamsUserActivityUserDetail)" Nullable="false"/>
</Function>

Кто-нибудь успешно удалось загрузить JSON вывод из / beta / reports / * по этому пути? Я отмечаю следующий URL: https://blog.yannickreekmans.be/connect-power-bi-to-microsoft-graph/ вызывает в конце эту проблему - но не может найти действительный обходной путь, что не не требует создания мс Graph-прокси

...