Graph API 搜索 $filter 中的特殊字符

man*_*ghu 4 c# filter special-characters odata microsoft-graph-api

下面是代码。如果我传递搜索参数的搜索值,例如:M'test。它抛出错误。

使用此代码支持“'”等特殊字符的正确方法是什么?

var graphClient = await GetGraphClient();
List<QueryOption> queryOptions = new List<QueryOption>();
queryOptions.Add(new QueryOption("$filter", string.Format("startswith(displayName,'{0}')", search)));
var collection = await graphClient.Data.Request(queryOptions).GetAsync();
Run Code Online (Sandbox Code Playgroud)

AAA*_*ddd 7

转义单引号

对于使用单引号的请求,如果任何参数值也包含单引号,则必须对其进行双转义;否则,请求将因语法无效而失败。

在您的示例中,M'test需要是M''test.

您可能只使用string.Replace或 正则表达式 替换'''