【发布时间】:2018-11-21 00:35:04
【问题描述】:
我正在寻找一种方法来获取当您在 sharepoint 在线文档库中的文档上按复制链接时获得的链接。 我需要使用 powershell 以编程方式检索此链接。 有什么建议和想法吗?
这是以蓝色突出显示的链接图片。
谢谢
【问题讨论】:
标签: powershell sharepoint-online
我正在寻找一种方法来获取当您在 sharepoint 在线文档库中的文档上按复制链接时获得的链接。 我需要使用 powershell 以编程方式检索此链接。 有什么建议和想法吗?
这是以蓝色突出显示的链接图片。
谢谢
【问题讨论】:
标签: powershell sharepoint-online
您需要使用 Microsoft Graph API。网络上有示例和文档,但它处于 Beta 版,因此请记住该过程可能会发生变化。
您可以在共享点站点上使用Get 并查看驱动器对象,然后您可以使用Drive ID 连接到它们并查看文件的webURL 属性。
https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/drive
【讨论】:
我最终动态地构建了链接。 所以这是我最终获得链接的方法:
这是一个例子
$UniqueID = (Get-PnPListItem -id 231 -List Budget).FieldValues.UniqueID
$UniqueID = e1a1f20f-4b7d-4y16-x021-3469bde98088
链接步骤如下:
最后只需构建所有步骤以动态构建您的链接。 https://mycompany.sharepoint.com/Site/subsite/_layouts/15/WopiFrame.aspx?sourcedoc={e1a1f20f-4b7d-4y16-x021-3469bde98088}&action=edit
最后,您要更改的唯一 ID 是大括号之间的唯一 ID。
【讨论】:
除了 Nick 所说的,我们可以使用 Graph API 来实现这一要求,尤其是“createLink”端点。
我们可以使用以下主体(或类似内容)进行 POST 请求
{
"type": "edit",
"scope": "organization"
}
并且请求 URL 可以是以下之一
- /v1.0/sites/{site-id}/lists/{list-id}/items/{item-id}/driveItem/createLink
- /v1.0/sites/{site-id}/drive/items/{drive-item-id}/createLink
- /v1.0/sites/{site-id}/drives/{drive-id}/items/{drive-item-id}/createLink
【讨论】: