使用 Java 访问 MS Graph 中的 getAllSites() 方法时出现 AccessDenied

问题描述 投票:0回答:1
使用 Java 访问 MS Graph 中的

getAllSites()

 方法时,出现 AccessDenied 错误。我从 Microsoft Learn 获取了这段代码。当我尝试执行此代码时,我收到“访问被拒绝”错误。请在下面找到 Java 代码块。

final UsernamePasswordCredential credential = new UsernamePasswordCredentialBuilder() .clientId(clientId).tenantId(tenantId).username(userName).password(password) .build(); final GraphServiceClient graphClient = new GraphServiceClient(credential, scopes); GetAllSitesGetResponse getAllSitesGetResponse = graphClient.sites().getAllSites().get(); List<Site> value = getAllSitesGetResponse.getValue();
请在下面找到我在执行代码时收到的错误。

Exception in thread "main" com.microsoft.graph.models.odataerrors.ODataError: Access denied at com.microsoft.graph.models.odataerrors.ODataError.createFromDiscriminatorValue(ODataError.java:36) at com.microsoft.kiota.serialization.JsonParseNode.getObjectValue(JsonParseNode.java:212) at com.microsoft.kiota.http.OkHttpRequestAdapter.lambda$throwIfFailedResponse$0(OkHttpRequestAdapter.java:674) at com.microsoft.kiota.ApiExceptionBuilder.<init>(ApiExceptionBuilder.java:26) at com.microsoft.kiota.http.OkHttpRequestAdapter.throwIfFailedResponse(OkHttpRequestAdapter.java:673) at com.microsoft.kiota.http.OkHttpRequestAdapter.send(OkHttpRequestAdapter.java:281) at com.microsoft.graph.sites.getallsites.GetAllSitesRequestBuilder.get(GetAllSitesRequestBuilder.java:60) at com.microsoft.graph.sites.getallsites.GetAllSitesRequestBuilder.get(GetAllSitesRequestBuilder.java:46)
我正在使用最新的图形依赖项。

<dependency> <groupId>com.microsoft.graph</groupId> <artifactId>microsoft-graph</artifactId> <version>6.13.0</version> </dependency> <dependency> <groupId>com.microsoft.graph</groupId> <artifactId>microsoft-graph-core</artifactId> <version>3.1.14</version> </dependency>
我需要帮助列出共享点中的所有站点并从其中一个站点下载文件。感谢您提前指导。

java sharepoint microsoft-graph-api
1个回答
0
投票
获取

所有站点不支持委派权限,您无法代表用户访问此方法。

您需要授予应用程序权限

Sites.Read.All

并使用客户端密钥或证书进行身份验证。

© www.soinside.com 2019 - 2024. All rights reserved.