我试图通过过滤来conversationId获取邮件的消息和回复,但每次都会收到错误:
Run Code Online (Sandbox Code Playgroud)Unexpected error value: { statusCode: 400, code: "BadRequest", message: "Invalid filter clause"
示例代码:
let response =
await client.api(`/me/messages?$filter=conversationId eq '${conversationId}'`)
.get();
Run Code Online (Sandbox Code Playgroud)
请求路径输出如下:
/me/messages?$filter=conversationId eq 'AAQkADJkZTNiN2ZlLTg2M2QtNGZjMC1hNDUxLTdlNjgzZDVjZDljMAAQAKVNpsZfVhlEtPFltSQuNJ8='
Run Code Online (Sandbox Code Playgroud)
在Graph Explorer中尝试完全相同的路径时,完全没有问题。
和空间有关系吗?我应该添加吗%20?
我正在.NET Core与C#应用程序一起使用,并且集成了 Azure AD 身份验证。这意味着任何 Azure AD 用户都可以登录此应用程序。现在在某个地方,我想显示当前登录用户的城市、州、国家和其他一些字段值。为此,我使用了Microsoft Graph API,但无法成功获取详细信息。我收到一个错误Request_ResourceNotFound。我使用下面的C#代码来获取当前登录用户的数据。
var clientId = "<CLIENT_ID>"; // I have used my application client id here
var secret = "<CLIENT_SECRET>"; // I have used my client secret here
var domain = "<DOMAIN>"; // I have used domain here
var credentials = new ClientCredential(clientId, secret);
var authContext = new AuthenticationContext($"https://login.microsoftonline.com/{domain}/");
var token = await authContext.AcquireTokenAsync("https://graph.microsoft.com/", credentials);
var graphServiceClient = new GraphServiceClient(new DelegateAuthenticationProvider((requestMessage) =>
{ …Run Code Online (Sandbox Code Playgroud) 我使用邮递员发送了以下请求:
https://graph.microsoft.com/v1.0/auditLogs/signIns
Run Code Online (Sandbox Code Playgroud)
响应是 1000 条记录。有没有办法克服记录的限制?我试过:
https://graph.microsoft.com/v1.0/auditLogs/signIns?$top=5000
Run Code Online (Sandbox Code Playgroud)
我检索到相同的结果。只有 1000 条记录。有没有办法克服这个限制?提前致谢。
我尝试使用 Microsoft Graph API 创建来宾用户。我使用了该财产UserType。
user.UserType = "Guest";
Run Code Online (Sandbox Code Playgroud)
但回应显示Invalid User principal Name。
我可以在门户中创建相同的用户。
我有最新的.Net Core v2.1.4.
我试图添加AddXmlDataContractSerializerFormatters();中Startup.cs的文件,但它报告IMvcBuilder不包含它的定义.
我的startup.cs:
{
services.AddMvc().AddXmlDataContractSerializerFormatters();
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseMvc();
app.Run(async(context) =>
{
await context.Response.WriteAsync("MVC didn't find anything!");
});
}
Run Code Online (Sandbox Code Playgroud) 我有一个托管在 Azure(应用程序服务)上的简单 Web 应用程序,它调用两个不同的外部 API。昨天,我们的流量出现了巨大的预期峰值,整个事情崩溃了,我现在意识到这是因为我正在创建和处置 HttpClient 的新实例,如下所示:
var url = "https://www.externalapi.com/someendpoint" +
"/takethedata.js?" +
"[form]email=" + visitor.EmailAddress +
"&[form]name=" + visitor.FirstName + " " + visitor.LastName +
"&[form]zip=" + visitor.zip +
"&[form]location=" + city + ", " + state;
using(var handler = new HttpClientHandler())
{
handler.ClientCertificateOptions = ClientCertificateOption.Manual;
handler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => true;
handler.SslProtocols = System.Security.Authentication.SslProtocols.Tls12 |
System.Security.Authentication.SslProtocols.Tls11 |
System.Security.Authentication.SslProtocols.Tls;
using(var client = new HttpClient(handler))
{
client.BaseAddress = new Uri(url);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = await …Run Code Online (Sandbox Code Playgroud) 我正在构建一个使用 Microsoft Graph API 进行身份验证的 Azure Functions 应用程序。我创建了一个processCode函数作为我的重定向 URI,它采用 Graph API 发送的代码来生成 Graph 令牌。
但是,Azure Functions 在其调用中使用code查询字符串参数来传递函数键。
我是否可以将 Graph API 重定向 URI 配置为使用除 之外的其他查询字符串参数code?
本质上,改变
https://myapp/api/processCode?code=GRAPH-CODE (conflicting code parameter)
Run Code Online (Sandbox Code Playgroud)
到
https://myapp/api/processCode?code=FUNCTIONS-KEY&graphcode=GRAPH-CODE
Run Code Online (Sandbox Code Playgroud) 我正在阅读有关ASP .NET Core和Razor Pages的教程.
其中一个,在处理BindProperty属性时,有一些我觉得难以理解的评论:
默认情况下,Razor Pages仅使用非GET谓词绑定属性.绑定到属性可以减少必须编写的代码量.绑定通过使用相同的属性来呈现表单字段(
<input asp-for="Customer.Name" />)并接受输入来减少代码.出于安全原因,您必须选择将GET请求数据绑定到页面模型属性.在将映射映射到属性之前验证用户输入.在处理依赖于查询字符串或路由值的方案时,选择此行为非常有用.
要在GET请求上绑定属性,请将
[BindProperty]属性的SupportsGet属性设置为true:[BindProperty(SupportsGet = true)]
(强调我的)来源:ASP.NET核心中的Razor页面简介§编写基本表单
我不明白.为什么在专门处理GET请求时需要采取额外的安全措施?
据我所知,GET请求应该比POST请求更安全,更安全,因为GET只检索数据,而POST则将数据发送到服务器.因此,POST请求通常需要额外的安全措施GET reqs不需要.
然而现在我正在读取用POST做X很好但是小心,不要肆无忌惮地使用GET,你必须选择加入并加以警告,采取预防措施!
为什么这些警告是必要的?将GET请求数据绑定到页面模型属性可以引入哪些安全漏洞?为什么这些漏洞不适用于POST请求?
我们使用 Microsoft Graph API 将 Outlook 集成到我们的 iOS 应用程序中。我们有一个用例,必须按附件名称或主题过滤 Outlook 邮件。我们使用查询参数来命中图形 API。
\n\n链接到微软文档。
\n\n根据上述文档,$search参数用于过滤 Outlook 消息。当点击以下 API 时,我们会得到错误的响应。它\xe2\x80\x99s 返回主题和邮件正文中都有\xe2\x80\x9cTest Mail\xe2\x80\x9d 的邮件。但它应该只返回主题行为 \xe2\x80\x9cTest Mail\xe2\x80\x9d 的邮件。
https://graph.microsoft.com/v1.0/me/messages?$search="subject:Test Mail\xe2\x80\x9d \nRun Code Online (Sandbox Code Playgroud)\n\n当我们通过点击下面的 API 按附件名称过滤邮件时,我们也会遇到同样的问题。事实上,在这种情况下我们得到的是空响应。
\n\nhttps://graph.microsoft.com/v1.0/me/messages?$search=\xe2\x80\x9cattachments:test.png\xe2\x80\x9d \nRun Code Online (Sandbox Code Playgroud)\n\n上述 URL 格式是否正确?为什么我们\xe2\x80\x99没有得到期望的响应?请帮助我们解决这个问题。
\n我正在编写 Outlook 插件,并尝试向 Jira 发出提取请求。但是,我遇到了我认为的 CORS 问题,并且不知道如何解决它。
错误消息显示:
“[已阻止] 的页面
https://localhost:3000/index.html?_host_Info=Outlook$Mac$16.02$en-US不允许显示来自 的不安全内容http://mysite.atlassian.net/rest/api/2/myself。”
有没有办法从 Outlook 加载项发出提取请求来绕过 CORS?
我的外接程序只是一个基于反应的前端应用程序,获取请求需要基本身份验证,这在邮递员中运行良好(当然,它在浏览器外部,但 Outlook 外接程序在浏览器组件中运行)。