网站登录密码忘记了,淘宝客有必须做网站吗,本地运行wordpress,岳阳网网有鱼大家如果看teams的 graph api 开发文档#xff0c;可能会把 app id, installation id 和 external id 搞混#xff0c;我自己一开始的时候就有点被搞晕了#xff0c;再加上app manifest里面的 id 和 bot id#xff0c;基本就彻底晕掉了。
那我们今天这篇文章就来讲讲这几种…大家如果看teams的 graph api 开发文档可能会把 app id, installation id 和 external id 搞混我自己一开始的时候就有点被搞晕了再加上app manifest里面的 id 和 bot id基本就彻底晕掉了。
那我们今天这篇文章就来讲讲这几种 id 。
首先当我们开发一个 team app 的时候都需要编写一个 manifest json 文件在这个文件里就有必须要指定一个 id还有一个 bot idbot id就是你创建的 microsoft app id我们通常把这两个id 使用一样的值但是实际上一个 teams app里面可以有多个 bot也就是说你可以在manifest json文件里指定多个 bot id。
当我们把我们的 teams app提交到teams里后提交一个zip文件zip里含有manifest json文件teams系统就会自动生成一个 app id这个就是teams文档里提到的 app id要注意的是这个app id和我们在manifest 文件里写的id 不是一个东西。同时 teams 把 manifest 里的 id 也保存下来叫做了 external id。
我们看一下微软文档里的写法 https://docs.microsoft.com/en-us/graph/api/resources/teamsapp?viewgraph-rest-1.0preserve-viewtrue#properties
TeamsApp Resource Type Properties
PropertyTypeDescriptionidstringThe catalog app’s generated app ID (different from the developer-provided ID in the Microsoft Teams zip app package.externalIdstringThe ID of the catalog provided by the app developer in the Microsoft Teams zip app package.
搞清楚了 app id 和 external id 的区别后我们再来看一下 installation id 就简单了。
一个 app 可以被安装到不同的 tenant 下的不同的 team 里每一次安装就会对应的生成一个 installtion id。也就是说一个 app id 会对应到多个 installation id他们是一对多的关系。
我们来看一个实际的例子。
GET https://graph.microsoft.com/v1.0/teams/{team-id}/installedApps?$expandteamsAppResponse:
HTTP/1.1 200 OK
Content-type: application/json
{odata.count: 1,value: [{id: NjkwM2Z...., // installation idteamsApp: {id: 11111111-25e0-4569-8ebe-13601cb55a18, // app idexternalId: 22222222-f94e-4d80-ba90-5594b641a8ee, // external id (在manifest里指定的 id)displayName: YPA,distributionMethod: sideloaded}}]
}通过上面的例子大家应该都清楚他们的关系了当然如果你能自己动手调用一下graph api看一下在你自己的tenant里各个 id 的情况那肯定理解更加深刻。