Microsoft是否为Graph提供了一个swagger文件?

时间:2016-11-02 07:22:56

标签: swagger microsoft-graph

虽然我已经找到了尽可能多的文档,但是我找不到https://graph.microsoft.io/

的招摇文件了

此API似乎有一些变体,我看到了对Office 365 Graph API和Azure Graph API的引用,但我相信Microsoft Graph是最新的统一版本,并提供了我所追求的功能。

我想使用Microsoft Flow,我很惊讶它没有作为开箱即用的API集成。要使用Flow注册Custom API,您需要提供一个swagger文件,因此问题。

2 个答案:

答案 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