【问题标题】:How do I populate the SharePointIds property on Drive and DriveItem objects?如何填充 Drive 和 DriveItem 对象的 SharePointIds 属性?
【发布时间】:2020-01-02 16:12:17
【问题描述】:

使用 Graph API NuGet 包,如何填充 SharePointIds 属性。

考虑以下代码sn-p:

public async Task<Drive> RetrieveOneDriveForUserAsync(string userId)
    {
        return await _graphClient.Users[userId].Drive.Request().GetAsync();
    }

“SharepointIds”属性始终为 NULL

编辑:

注意:这不适用于个人 OneDrive 项目。这适用于 Group OneDrive 项目。

这是 Drive 对象的文档:https://docs.microsoft.com/en-us/graph/api/resources/drive?view=graph-rest-1.0

这是 DriveItem 对象的文档:https://docs.microsoft.com/en-us/graph/api/resources/driveitem?view=graph-rest-1.0

这是 SharepointIds 对象的文档:https://docs.microsoft.com/en-us/graph/api/resources/sharepointids?view=graph-rest-1.0

【问题讨论】:

    标签: microsoft-graph-api onedrive microsoft-graph-sdks


    【解决方案1】:

    SharePointIds 对象适用于存储在 SharePoint 网站中的项目

    _graphClient.Users[userId].Drive.Items[itemId].Request().Select("sharepointids").GetAsync();
    

    (文件夹是一个项目,因此您可以获取 Root 的 Id。)

    _graphClient.Users[userId].Drive.Root.Request().Select("sharepointids").GetAsync();
    

    【讨论】:

    • 我没有意识到的重要一点是你必须明确地 $select sharepointIds 否则它不会回来。
    • 是的,sharepointIds 背后的想法是,只有在您基本上在旧 API 和新 API 的数据之间进行互操作时才需要它们。如果您的应用仅处理 Graph,则您不需要 sharepointIds,因此默认情况下它们不会返回。不过,我们的文档显然在这方面有所欠缺……它可能会调出默认不返回的字段。
    • 感谢您的回答。问题是如果我使用它,我只会填充“sharepointids”。其余属性为空。 _graphClient.Groups[groupId].Drive.Root.Search("").Request().Select("sharepointids").GetAsync();
    • 您知道可以向 Select 方法添加多个属性,对吧?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-04
    • 2010-09-24
    • 2012-04-02
    • 1970-01-01
    • 2019-06-13
    相关资源
    最近更新 更多