Microsoft graph api &引用;访问群体声明值对于当前资源无效;在Microsoft Graph Client API中为附件使用ChunkedUploadProvider时
我正在尝试使用以下代码,但收到“消息:访问群体声明值对于当前资源无效。访问群体声明为“”,请求url为…” 我在provider.GetUploadChunkRequests()上获得它;请致电:Microsoft graph api &引用;访问群体声明值对于当前资源无效;在Microsoft Graph Client API中为附件使用ChunkedUploadProvider时,microsoft-graph-api,outlook-restapi,microsoft-graph-sdks,microsoft-graph-files,Microsoft Graph Api,Outlook Restapi,Microsoft Graph Sdks,Microsoft Graph Files,我正在尝试使用以下代码,但收到“消息:访问群体声明值对于当前资源无效。访问群体声明为“”,请求url为…” 我在provider.GetUploadChunkRequests()上获得它;请致电: AttachmentItem attachmentItem= new AttachmentItem { Name = [Name], AttachmentType = AttachmentType.File, S
AttachmentItem attachmentItem= new AttachmentItem
{
Name = [Name],
AttachmentType = AttachmentType.File,
Size = [Size]
};
var session = graphClient.Users[USEREMAIL].Messages[MESSAGEID].Attachments.CreateUploadSession(attachmentItem).Request().PostAsync().Result;
var stream = new MemoryStream(BYTEARRAY);
var maxSizeChunk = DEFAULT_CHUNK_SIZE;
var provider = new ChunkedUploadProvider(session, graphClient, stream, maxSizeChunk);
var chunkRequests = provider.GetUploadChunkRequests();
(我正在使用graphClient成功发送电子邮件,还使用它使用uploadSession方法上载大文件)从开始:
您很可能会因为使用chunkedUploadOrVider而不是使用FileUploadTask来上载附件而收到错误,因为附件设置了Auth头以导致您收到的错误
要使用文件上载任务,请执行以下步骤
首先创建一个上传会话,并将其移交给任务,如图所示
// Create task
var maxSliceSize = 320 * 1024; // 320 KB - Change this to your chunk size. 4MB is the default.
LargeFileUploadTask<FileAttachment> largeFileUploadTask = new LargeFileUploadTask<FileAttachment>(uploadSession, stream, maxSliceSize);
//创建任务
var maxSliceSize=320*1024;//320 KB-将其更改为块大小。4MB是默认值。
LargeFileUploadTask LargeFileUploadTask=新的LargeFileUploadTask(uploadSession,stream,maxSliceSize);
创建上载监视器(可选)
//设置进度监视
i进度=新进度(进度=>
{
WriteLine($“上载的{stream.Length}字节中的{progress}字节”);
});
服务只返回可以从结果对象读取的位置URI,如下所示
UploadResult<FileAttachment> uploadResult = null;
try
{
uploadResult = await largeFileUploadTask.UploadAsync(progress);
if (uploadResult.UploadSucceeded)
{
Console.WriteLine(uploadResult.Location);//the location of the object
}
}
catch (ServiceException e)
{
Console.WriteLine(e.Message);
}
UploadResult UploadResult=null;
尝试
{
uploadResult=等待largeFileUploadTask.UploadAsync(进度);
if(uploadResult.UploadSuccessed)
{
Console.WriteLine(uploadResult.Location);//对象的位置
}
}
捕获(服务异常e)
{
控制台写入线(e.Message);
}
UploadResult<FileAttachment> uploadResult = null;
try
{
uploadResult = await largeFileUploadTask.UploadAsync(progress);
if (uploadResult.UploadSucceeded)
{
Console.WriteLine(uploadResult.Location);//the location of the object
}
}
catch (ServiceException e)
{
Console.WriteLine(e.Message);
}