如何获得"复制链接"使用Powershell从SharePoint Online文档库上的文档

时间:2017-09-20 18:04:49

标签: powershell sharepoint-online

我正在寻找一种方法来获取当您从sharepoint在线文档库中按文档上的复制链接时获得的链接。 我需要使用PowerShell以编程方式检索此链接。 任何建议和想法?

以下是以蓝色突出显示的链接图片。

enter image description here

谢谢

3 个答案:

答案 0 :(得分:0)

您需要使用Microsoft Graph API。网络上有一些示例和文档,但它处于测试阶段,因此请记住,流程可能会发生变化。

您可以在sharepoint站点上使用Get并查看驱动器对象,然后使用Drive ID连接到它们并查看文件的webURL属性。

https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/drive

答案 1 :(得分:0)

我最终动态构建了链接。 所以这就是我最终要做的事情来获取链接:

  1. 使用cmdlet Get-PnPListItem
  2. 检索库中每个项目的每个UniqueID
  3. 这是一个例子

    $ UniqueID =(Get-PnPListItem -id 231 -List Budget).FieldValues.UniqueID

  4. $ UniqueID = e1a1f20f-4b7d-4y16-x021-3469bde98088

  5. 以下是链接步骤:

    1. https://mycompany.sharepoint.com/Site/subsite/_layouts/15/WopiFrame.aspx?sourcedoc= {
    2. e1a1f20f-4b7d-4y16-x021-3469bde98088
    3. }&安培;行动=编辑
    4. 最后只构建动态构建链接的所有步骤。 https://mycompany.sharepoint.com/Site/subsite/_layouts/15/WopiFrame.aspx?sourcedoc={e1a1f20f-4b7d-4y16-x021-3469bde98088}&action=edit

      最后,您将要更改的唯一ID是大括号之间的唯一ID。

答案 2 :(得分:0)

除了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
  •