【发布时间】:2020-09-15 15:16:31
【问题描述】:
我正在使用来自 MS GRAPH 的邀请 API - Invite LINK
发送共享邀请 - 外部用户
- POST /me/drive/items/{item-id}/invite
- POST /sites/{siteId}/drive/items/{itemId}/invite
上述请求的响应返回200 OK响应码并返回permission对象,但链接对象下的共享链接(webUrl)大多数时候返回“null”,导致无法共享链接共享给外部用户编辑文档。
请求正文:
{
"recipients": [
{
"email": "abc@abc.com"
}
],
"message": "Here's the file that we're collaborating on.",
"requireSignIn": true,
"sendInvitation": false,
"roles": [ "write" ]
}
在这里,我不想通过邮件分享项目,因此将 sendInvitation 设为 false 并使用从响应中收到的 webURL 进行协作。
观察: 它适用于 gmail 和 Outlook 帐户。 对于企业帐户,它无法将 url 接收为 null。
样品:
- 如果我是第一次邀请,我会收到以下回复,
例外响应示例:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(permission)",
"value": [
{
"@odata.type": "#microsoft.graph.permission",
"roles": [
"write"
],
"grantedToIdentities": [
{
"user": {
"email": "#####@####.com"
}
}
],
"invitation": {
"signInRequired": true
},
"link": {
"type": "edit",
"webUrl": "https://**********encryptedURL*****/"
}
}
]
}
- 从第二次 link 对象未出现在响应中,
在没有 webURL 的情况下收到示例响应:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#Collection(permission)",
"value": [
{
"@odata.type": "#microsoft.graph.permission",
"id": "###############",
"roles": [
"write"
],
"grantedTo": {
"user": {
"email": "######@######.com",
"id": "#############",
"displayName": "@@@@@@@"
}
}
}
]
}
【问题讨论】:
标签: azure azure-active-directory microsoft-graph-api microsoft-graph-files