我使用此代码从OneDrive文件夹中检索文件。它工作得很好,除了更改需要很长时间才能传播。例如,如果我删除一个文件,响应将继续返回该文件约10分钟。我做错了什么?
string endpoint = "https://graph.microsoft.com/v1.0/users/{UserId}/drive/root/search(q='.txt')?$select=Id,SharepointIds,WebUrl,Name,Size,FileSystemInfo,CreatedBy,LastModifiedBy";
var httpClient = new HttpClient {
BaseAddress = new Uri(endpoint)
};
httpClient.DefaultRequestHeaders.Accept.Clear();
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);
using (var response = await httpClient.GetAsync(endpoint)) {
string json = await response.Content.ReadAsStringAsync();
return JsonSerializer.Deserialize<ResponseModel>(json, options);
}
虽然我可以在Postman中重现这个问题,但Graph Explorer在几秒钟内就同步了。从那以后,我发现如果我使用图形资源管理器的访问令牌,同步问题会自行解决。
这是我正在使用的端点。我想我真正需要知道的是图形资源管理器如何生成其访问令牌(或同步令牌?)在这种情况下。
string endpoint = https://login.microsoftonline.com/{TenantId}/oauth2/v2.0/token
1条答案
按热度按时间vbkedwbf1#
我发现问题了。我所需要做的就是将端点从:
收件人:
不确定这是否是最好的方法,但微软的文档非常糟糕。我欢迎任何评论。