我正在尝试访问组织的 SharePoint 团队网站。我正在使用 Microsoft Graph API,因为它是 Office 365 最完整的 API。我了解如何获取访问令牌以及如何使用它来发出请求。我知道它有效,因为我可以获得组列表,但是在获取所有团队网站时,我收到一条错误消息:
Code : invalidRequest
Message : Cannot enumerate sites
Run Code Online (Sandbox Code Playgroud)
这是我的代码。我正在控制台应用程序中对其进行测试。
class Program {
static void Main(string[] args) {
Program p = new Program();
var items = p.GetItems();
items.Wait();
foreach (var item in items.Result) {
Console.WriteLine(item.DisplayName);
}
Console.ReadLine();
}
public async Task<IGraphServiceSitesCollectionPage> GetItems() {
PublicClientApplication myApp =
new PublicClientApplication("CLIENT-ID-FROM-DEVELOPPER-CONSOLE");
//Gets an access token
AuthenticationResult authenticationResult =
await myApp.AcquireTokenAsync(
new string[] {
"user.read.all",
"sites.read.all",
"files.read.all",
"group.read.all",
"Directory.Read.All"
}).ConfigureAwait(false);
//Creates the client with the …Run Code Online (Sandbox Code Playgroud)