我正在跟踪https://docs.microsoft.com/en-us/graph/api/reportroot-getmailboxusagedetail?view=graph-rest-1.0&tabs=cs上的GetMailBoxUsageDetail文档,并且得到了JsonReaderException。
完整的错误消息如下:JsonReaderException:解析值:R。路径”,行0,位置0时遇到意外字符。
我已验证我具有适当的应用程序权限。我还使用了Fiddler,看到内容流已返回给客户端应用程序,但是Microsoft Graph API似乎试图将内容反序列化为Json(如果不是)。
public IActionResult Index()
{
var report = GetMailBoxUsageDetailAsync().Result;
return View();
}
public async Task<Report> GetMailBoxUsageDetailAsync(string period = "D7")
{
var graphClient = new GraphServiceClient(new MsalAuthenticationProvider());
var report = await graphClient.Reports.GetMailboxUsageMailboxCounts(period)
.Request()
.GetAsync();
return report;
}
我期望返回以下标题的流内容:报告刷新日期,用户主体名称,显示名称,已删除,删除日期,创建日期,最后活动日期,项目计数,已用存储(字节),问题警告配额(字节),禁止发送配额(字节),禁止发送/接收配额(字节),报告期
答案 0 :(得分:1)
实际上,这似乎是反序列化响应有效负载的错误,并且会影响Mailbox usage reports的所有端点
至少可以复制
msgraph-sdk-dotnet
版1.15.0
在此问题得到解决之前,可以考虑使用以下解决方案:
//Construct and send a request
var requestUrl = graphClient.Reports.GetMailboxUsageMailboxCounts("D7").Request().RequestUrl;
var request = new HttpRequestMessage(HttpMethod.Get, requestUrl);
await graphClient.AuthenticationProvider.AuthenticateRequestAsync(request);
var response = await graphClient.HttpProvider.SendAsync(request);
// Get the csv report data
var csvData = await response.Content.ReadAsStringAsync();