虽然我已经找到了尽可能多的文档,但是我找不到https://graph.microsoft.io/
的招摇文件了此API似乎有一些变体,我看到了对Office 365 Graph API和Azure Graph API的引用,但我相信Microsoft Graph是最新的统一版本,并提供了我所追求的功能。
我想使用Microsoft Flow,我很惊讶它没有作为开箱即用的API集成。要使用Flow注册Custom API,您需要提供一个swagger文件,因此问题。
答案 0 :(得分:4)
我找到了将OData XML元数据转换为swagger的东西。 https://github.com/akorchev/odata2openapi
测试版的msgraph元数据位于https://graph.microsoft.com/beta/$metadata。
对于TypeScript,您可以执行以下操作:
import { odata2openapi } from 'odata2openapi';
odata2openapi('https://graph.microsoft.com/beta/$metadata')
.then(swagger => console.log(JSON.stringify(swagger, null, 2)))
.catch(error => console.error(error))
更新:我注意到尝试时出错了。我相信因为当EntityType节点没有任何Properties节点时代码没有处理。我提出拉动请求来解决这个问题。 https://github.com/akorchev/odata2openapi/pull/7
答案 1 :(得分:2)
在此GitHub存储库(/ beta和/ v1)中,有一个可用于Microsoft Graph的Open API(Swagger的演变)预览服务描述:
https://github.com/microsoftgraph/microsoft-graph-openapi
当前,它并未涵盖Graph API中的所有内容。将来,Open API描述将以与今天$ metadata端点类似的方式作为Graph API的一部分发布。
您可以使用Open API工具为其创建C#客户端(或任何其他受支持的语言)。这是一个使用其docker镜像生成v1.0和beta客户端的示例:
docker run --rm -v ${PWD}:/local openapitools/openapi-generator-cli generate -i https://raw.githubusercontent.com/microsoftgraph/microsoft-graph-openapi/master/v1.0.json -g csharp -o /local/out/graphv1
docker run --rm -v ${PWD}:/local openapitools/openapi-generator-cli generate -i https://raw.githubusercontent.com/microsoftgraph/microsoft-graph-openapi/master/beta.json -g csharp -o /local/out/graphbeta