Office 365管理中心允许创建与组织中的所有用户共享的组织联系人.
在MS Graph文档中,此功能的API记录严密,位于BETA部分.此外,没有命令创建这样的联系人:https://developer.microsoft.com/en-us/graph/docs/api-reference/beta/resources/orgcontact
在Graph中看起来这个功能没有实现.对/ beta/contacts使用典型的POST请求以Json结构中的错误响应结束:Unsupported resource type 'Contact' for operation 'Create'.
注1:我没有任何用户登录.我的应用程序使用服务/守护程序身份验证.
有没有其他方法可以创建组织联系?
我有带SignalR的.NET Core 2.2 + ASP.NET Core 2.2。在我的开发环境中,我具有带有IIS Express 10的Win7。
不幸的是,SignalR不使用WebSockets,不幸的是,我没有找到强迫它使用的方法。
在服务器端,SignalR的配置如下:
app.UseSignalR(
routeBuilder => routeBuilder
.MapHub<ClientsHub>(
"/hubs/clients",
options => options.Transports = HttpTransportType.WebSockets)
);
Run Code Online (Sandbox Code Playgroud)
在客户端配置是:
this._connection = new signalR.HubConnectionBuilder()
.withUrl(this.api.getHubUrl(url), {
transport: HttpTransportType.WebSockets
})
.build();
Run Code Online (Sandbox Code Playgroud)
来自SignalR客户端的协商请求结果如下:
{"connectionId":"1SyteS9TsDE5Q8LBRb2-VA","availableTransports":[]}
Run Code Online (Sandbox Code Playgroud)
结果,SignalR的客户端将此消息写入控制台:
Error: Failed to start the connection: Error: Unable to initialize any of the available transports.
Run Code Online (Sandbox Code Playgroud)
显然,这意味着未使用websocket,SignalR无法初始化websocket。
我发现使用Google时,IIS Express默认禁用了websocket,我必须先启用它们。我在文件applicationhost.config的IISExpress / config文件夹中找到了一些设置,并将其设置为Allow(默认为Deny):
<section name="webSocket" overrideModeDefault="Allow" />
Run Code Online (Sandbox Code Playgroud)
但是什么都没有改变。
如果要禁用协商,SignalR客户端将尝试通过url直接使用WebSockets,如下所示:
wss://localhost:44360/hubs/clients
Run Code Online (Sandbox Code Playgroud)
但是,此请求的结果是错误代码400:
Error during WebSocket handshake: Unexpected response code: 400
Run Code Online (Sandbox Code Playgroud)
是否有可能通过IIS 10强制SignalR使用WebSockets?还是要强制IIS 10允许SignalR使用WebSockets?
对Microsoft Graph的服务或守护程序身份验证授予对有限数量的功能的访问权限.
例如,要能够使用计划程序和任务,您必须以用户身份登录.在其他情况下,我们无法访问大多数用户详细信息,我们无法访问用户的文件等.
为什么服务或守护进程现在必须拥有更多权限?在我们的例子中,服务应该自动创建根据特定用户或组计划任务和日历事件自动注册的事件.有时它还应该在此用户的OneDrive中创建,添加或读取文件.当然也是自动的.由于Microsoft Graph限制,更容易使用其他第三方服务来跟踪任务,甚至可以编写我们自己的服务.与文件相同的情况.
Microsoft Graph看起来像一个功能强大的API,但由于其访问限制,当您需要自动创建某些内容时,它无法使用,无需任何用户操作.
大多数这些限制的原因是什么?有没有走路?