当前位置: 首页 > 知识库问答 >
问题:

无法使用 Microsoft Graph API 访问 SharePoint 列表--

濮丰
2023-03-14

使用Microsoft graph api,尤其是SharePoint beta API,我经常遇到问题。我知道它的测试版,但仍然;

因此,当我尝试使用graph explorer中的Graph API访问sharepoint列表时,问题是:GET https://Graph . Microsoft . com/beta/sites/{ site-id }/lists/{ list-id }

所以Site eID我传递我的网站租户GUID和列表ID作为Sharepoint List GUID,我在响应中不断面临错误

{“error”:{“code”:“invalidRequest”,“message”:“提供的id不适合当前主机”,“innerError”:{“request id”:“61efc5b1-88f8-442c-a41d-7213b587318e”,“date”:“2017-05-10T07:38:04”}}

如果有人也遇到过这个问题,请告诉我您解决的解决方案

共有3个答案

阎烨
2023-03-14

尝试<code>https://graph.microsoft.com/beta/sites/{siteCollectionId},{site Id}/列表

您可以从<code>中找到这些idhttps://graph.microsoft.com/beta/site/sites

耿炎彬
2023-03-14

@Ryan Gregg有正确答案

SiteId不仅仅是一个GUID,而是以下各项的组合

示例:<代码>

上例中的整个字符串是您应该在请求中为{SiteId}传递的字符串

如果您没有 SPSite.ID 但有站点的 URL,则可以使用站点的相对路径进行 GRAPH API 调用

https://graph.microsoft.com/v1.0/sites/contoso.sharepoint.com:/sites/Documetation

此调用将返回站点的所有属性,您可以从此处获取完整的 SiteId:

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#sites/$entity",
    "createdDateTime": "2020-04-23T12:18:48.653Z",
    "description": "Documentation",
    "id": "contoso.sharepoint.com,fc016e3c-d8ae-4ee0-a10c-de6d26788b6a,9a4ea7a5-c3c4-44ae-9f80-273bd67431b8",
    "lastModifiedDateTime": "2020-12-09T19:17:21Z",
    "name": "Documentation",
    "webUrl": "https://contoso.sharepoint.com/sites/Documentation",
    "displayName": "Documentation",
    "root": {},
    "siteCollection": {
        "hostname": "contoso.sharepoint.com"
    }
}
徐昕
2023-03-14

作为本周API更新的一部分,站点ID的格式已经发生了变化。这里记录了新格式,但它包括SharePoint主机名SPSite。ID和SPWeb。ID为三元组:

https://graph.microsoft.com/beta/sites/contoso.sharepoint.com,fc016e3c-d8ae-4ee0-a10c-de6d26788b6a,9a4ea7a5-c3c4-44ae-9f80-273bd67431b8

如果您将主机名添加到您的ID中,您的调用应该会重新开始工作。您可以通过向以下请求来发现主机名:

https://graph.microsoft.com/beta/sites/root/siteCollection/hostname

您现在也可以使用以下搜索语法来搜索站点:

https://graph.microsoft.com/beta/sites?search={keyword}
 类似资料:
  • 我一直在尝试使用jackcess/ucanaccess连接到本地计算机上的access数据库。此数据库与sharepoint列表链接。连接发生了,我可以从表中读取数据。当我删除其中一个访问表的sharepoint列表链接,并再次将其与sharepoint列表链接时,我得到以下错误: TestJdbc。main()[CONSTANTS,f_0194596E3DC6402283A0012D0661E7

  • 我想在亚马逊上搜索一个主题,然后在给定的书单上逐一给出,执行一个特定的动作。我做了以下工作: 但是,这一个会转到第一个链接,然后返回到列表的页面。程序随后以以下错误终止:线程“main”org.openqa.selenium.StaleElementReferenceException:过时元素引用:元素未附加到页面文档

  • 我想公开我的系统,以便通过ssh进行访问。 运行此

  • 我们需要通过我们的API层(这里没有Web层)访问Sharepoint(图形)API。我正在尝试通过基于AAD的JavaRest API访问图形API。我已经在Azure中注册了我的应用程序,并且client_id和Secrete。 grant_type=authorization_code流量 我尝试过authorization_code流https://learn.microsoft.com/

  • 在@inheritage类型Joined中 我有班级成员、员工和学生 因此,当我保存Employee或Student记录,然后检索Person记录时,它给我的鉴别器列值为NULL,但在重新启动服务器后,它给我相应的值 如果我手动设置鉴别器列值的值,然后保存和检索,那么它会给我这个值(我需要手动设置鉴别器列值吗?)那么使用鉴别器列有什么好处呢 为什么我不应该使用一个具有列类型的employee和st

  • 我在ms sharepoint中创建了一个网站,并在文档中创建了一个word文档。我想使用REST API访问‘Documents’位置中的所有文档。 我创建应用程序生成应用id和秘密使用:https://apps.dev.microsoft.com/#/application 然后我使用以下命令生成了一个访问令牌: https://login.microsoftonline.com/common