Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Microsoft graph api 使用自定义连接器将Microsoft Graph API报表数据导入Power BI_Microsoft Graph Api_Powerbi_Powerquery - Fatal编程技术网

Microsoft graph api 使用自定义连接器将Microsoft Graph API报表数据导入Power BI

Microsoft graph api 使用自定义连接器将Microsoft Graph API报表数据导入Power BI,microsoft-graph-api,powerbi,powerquery,Microsoft Graph Api,Powerbi,Powerquery,我在使用自定义连接器从Microsoft图形中获取所需内容时遇到一些问题。从本质上说,我希望做的是将报告转化为Power BI报告 该报告的URL如下所示: /v1.0/reports/getEmailActivityUserDetail(period='D7') 为了创建这个定制连接器,我一直在使用,因为我不太熟悉Power Query的使用,也不太熟悉Graph API 我已经创建了连接器,可以连接到API和所有东西,但是所有的查询都没有返回数据,而是返回一个字节数组,我似乎无法处理它 从

我在使用自定义连接器从Microsoft图形中获取所需内容时遇到一些问题。从本质上说,我希望做的是将报告转化为Power BI报告

该报告的URL如下所示:

/v1.0/reports/getEmailActivityUserDetail(period='D7')
为了创建这个定制连接器,我一直在使用,因为我不太熟悉Power Query的使用,也不太熟悉Graph API

我已经创建了连接器,可以连接到API和所有东西,但是所有的查询都没有返回数据,而是返回一个字节数组,我似乎无法处理它

从Fiddler跟踪中可以看出,我想要的实际数据正在被提取,但Graph API似乎使用了指向下载的重定向URL,我不确定我的Power Query代码是否正在处理该URL。我认为它可能只是以字符串形式返回重定向URL,而不是返回实际数据

除此之外,如果查询超过返回的行数(我想是200行),那么我的查询没有代码来处理
NextLink
,因此我认为一旦我让它工作起来,它将不会返回完整的数据集。如何最好地处理这个问题

不幸的是,我对Power Query非常陌生(事实上,这是我第一次遇到它),所以我不确定从哪里开始进行必要的更改以获得所需的内容

如蒙协助,将不胜感激

这个问题涉及到一个类似的问题,尽管这是通过应用程序接口本身实现的,应用程序接口本身似乎无法获得必要的授权令牌

编辑:多亏了马克·拉弗勒的建议,我成功地解决了这个问题

问题确实是我试图使用Odata.Feed作为源代码。更改行:

source=OData.Feed(“https://graph.microsoft.com/v1.0/me/,null,[ODataVersion=4,MoreColumns=true])

致:

source=Csv.Document(Web.Contents(“https://graph.microsoft.com/v1.0/reports/getEmailActivityUserDetail(句号为“D7”))


修复了该问题,并返回了正确的值,没有其他更改。

Microsoft Graph的报告不是传统的REST端点。它们以
CSV
格式返回物理文件的临时URL,而不是返回OData/JSON

从:

如果成功,此方法将返回一个
302 Found
响应,该响应将重定向到报告的预验证下载URL。该URL可以在响应的位置标头中找到


从您链接的示例来看,它似乎也需要一个源(
source=OData.Feed
)。在本例中,您不会得到OData结果,而是一个指向
CSV
文件的URL。我相信你是在找我

这与我认为的问题是一致的。我确实玩过Csv.Document方法,但我不确定返回的结果是Csv还是作为字符串指向Csv的URL。星期一我会再玩一次,看看能不能弄清楚到底发生了什么。