我正在使用来自 MS GRAPH 的邀请 API -邀请链接
发送共享邀请 – 外部用户
- POST /me/drive/items/{item-id}/invite
- POST /sites/{siteId}/drive/items/{itemId}/invite
上述请求的响应返回 200 OK 响应码并返回一个权限对象,但链接对象下的共享链接(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 接收为空。
样品:
- 如果我是第一次邀请,我会收到以下回复,
例外响应示例:
{
"@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*****/"
}
}
]
}
- 从第二次没有响应的链接对象开始,
收到没有 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": "@@@@@@@"
}
}
}
]
}