azure - Microsoft Project Online CSOM 身份验证工作但无法加载项目
问题描述
我将我的应用程序切换到 .net core 并开始使用新的 .net core CSOM for sharepoint。我遵循了将现代身份验证与 CSOM 一起用于 .NET Standard文档,但我仍然无法使用“ProjectContext”查询项目列表。身份验证似乎可以正常工作,我得到了一个令牌,但是当我尝试“加载”context.Projects
时它没有加载任何东西:
using var context = new CSOMDemo.AuthenticationManager().GetContext(new Uri($"https://{company}.sharepoint.com/sites/pwa"), email, password);
context.Load(context.Projects);
context.ExecuteQuery();
var project = context.Projects.First(); // crash, Sequence contains no elements
如果我做同样的事情,但使用 .Net 框架SharePointOnlineCredentials
,相同的 url、用户名和密码可以工作。
azure 应用程序中的权限似乎配置正确,因为如果我删除SharePoint> AllSites.FullControl
然后尝试运行相同的代码,我会得到一个ServerUnauthorizedAccessException
。ExecuteQuery
我在方法中更改了ClientContext
for a 。ProjectContext
Authentication.GetContext
这是一个错误还是我错过了什么?
谢谢,
环境细节(开发和目标环境)
- 您的开发环境:Windows 10
- 目标环境:SharePoint Online
- 框架:.NET Core v3.1
- 工具:Visual Studio 2019
解决方案
推荐阅读
- html - display flex 水平显示图像和完整段落,但无法正常工作
- javascript - 未捕获的 TypeError: $(...).fullCalendar 不是函数错误
- css - 如果选择了输入单选按钮,则显示 div
- mysql - 更新和选择 MYSQL
- javascript - 单击 youtube 播放按钮后触发事件
- java - 如何为 aerospike 中的地图条目设置 TTL
- php - 出现错误:CodeIgniter 中的 CodeIgniter\Database\BaseResult::getResult
- string - 如何也为 String 提供自定义 str 方法?
- android - 在设计中,Android中的EditText错误“渲染问题”
- php - 在 macOS Catalina 中上传图像时出现以下错误