我正在尝试使用GraphApi和C#一起使用OneDrive来读取项目、上传项目等等,所有操作都正常工作。
我正在按照以下链接进行操作。 https://learn.microsoft.com/en-us/graph/api/driveitem-checkin?view=graph-rest-1.0&tabs=csharp
[HttpPost]
public async Task<IActionResult> Checkin(string Id)
{
//Id looks like this: B381F21397737D41!111
var itemInfo = Id.Split('!');
var versions = _graphServiceClient.Me.Drive.Items[Id].Versions.Request().GetAsync().Result;
var permissions = _graphServiceClient.Me.Drive.Items[Id].Permissions.Request().GetAsync().Result;
var drives = _graphServiceClient.Me.Drives.Request().GetAsync().Result;
var comment = "Updating with the latest.";
await _graphServiceClient.Drives[itemInfo[0]].Items[itemInfo[1]]
.Checkin(null, comment)
.Request()
.PostAsync();
return RedirectToAction("Index");
}
但是当我进行签入或签出操作时,就会出现这个错误。直到异步的“签入”部分之前一切都很顺利。
ServiceException: Code: invalidRequest Message: API not found Inner
error: AdditionalData: date: 2022-05-24T08:14:59 request-id: edac8ef2-13f5-46c9-aa1f-dcef248427aa client-request-id: edac8ef2-13f5-46c9-aa1f-dcef248427aa ClientRequestId: edac8ef2-13f5-46c9-aa1f-dcef248427aa
Microsoft.Graph.HttpProvider.SendAsync(HttpRequestMessage request, HttpCompletionOption completionOption, CancellationToken cancellationToken)
这是因为签入/签出仅支持 beta 端点吗?
感谢任何帮助!
.GetAsync().Result
而不是await .GetAsync()
。 - Oliver