UiPath Office365 Get Mail活动异常:ClientId非GUID问题求助
UiPath Office 365「Get Mail」活动异常问题排查
问题描述
- 使用UiPath的Office 365「Get Mail」活动时触发异常,该活动此前可正常运行,且相同代码在其他设备上能正常执行
- 核心错误为
Microsoft.Identity.Client.MsalClientException: Error: ClientId is not a GUID,该异常被RemoteException和Microsoft.Graph.ServiceException多层包裹 - 已将InteractiveToken的Authentication Type切换为UsernameAndPassword,但问题未解决
测试环境配置说明
- 输出截图:展示运行时错误输出内容
- Get Mail测试工作台:显示「Get Mail」活动的测试环境配置
- Office 365 Scope属性:展示Microsoft Office 365 Scope的参数配置
- Get Mail属性:显示「Get Mail」活动的具体属性设置
完整异常栈信息
$exceptionDetails RemoteException wrapping Microsoft.Graph.ServiceException: Code: generalExceptionMessage: An error occurred sending the request. ---> RemoteException wrapping Microsoft.Identity.Client.MsalClientException: Error: ClientId is not a GUID. at Microsoft.Identity.Client.AbstractApplicationBuilder`1.Validate() at Microsoft.Identity.Client.PublicClientApplicationBuilder.Validate() at Microsoft.Identity.Client.AbstractApplicationBuilder`1.BuildConfiguration() at UiPath.Shared.Authentication.Microsoft.Services.MsalLogonService.GetPublicApplication(OAuthDataOptions oauth) at UiPath.Shared.Authentication.Microsoft.Services.MsalLogonService.GetClientApplication(OAuthDataOptions oauth) at UiPath.Shared.Authentication.Microsoft.Services.MsalLogonService.d__10.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at UiPath.Shared.Services.Graph.GraphClientServiceFactory.d__16.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at UiPath.Shared.Services.Graph.GraphClientServiceFactory.d__14.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at UiPath.Shared.Services.Graph.GraphClientServiceFactory.d__25.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at UiPath.Shared.Services.Graph.GraphClientServiceFactory.d__13.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at UiPath.Shared.Authentication.Microsoft.Extensions.HttpRequestMessageExtensions.d__4.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.Graph.AuthenticationHandler.d__16.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Net.Http.HttpClient.d__58.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.Graph.SimpleHttpProvider.d__13.MoveNext() --- End of inner exception stack trace --- at Microsoft.Graph.SimpleHttpProvider.d__13.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.Graph.SimpleHttpProvider.d__10.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.Graph.BaseRequest.d__40.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.Graph.BaseRequest.d__34`1.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.Graph.UserMailFoldersCollectionRequest.d__3.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at UiPath.Shared.Services.Graph.Mail.Extensions.GraphServiceClientExtensions.d__33.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at UiPath.Shared.Services.Graph.Mail.Extensions.GraphServiceClientExtensions.d__31.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at UiPath.Shared.Services.Graph.Mail.Extensions.GraphServiceClientExtensions.d__10.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) at UiPath.MicrosoftOffice365.Services.GraphServiceClientProxy.d__70.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at UiPath.MicrosoftOffice365.Activities.Mail.GetMail.d__42.MoveNext() --- End of stack trace from previous location where exception was thrown --- at UiPath.Shared.Activities.AsyncTaskCodeActivityImplementation.EndExecute(AsyncCodeActivityContext context, IAsyncResult result) at UiPath.Shared.Activities.AsyncTaskCodeActivity.EndExecute(AsyncCodeActivityContext context, IAsyncResult result) at System.Activities.AsyncCodeActivity.System.Activities.IAsyncCodeActivity.FinishExecution(AsyncCodeActivityContext context, IAsyncResult result) at System.Activities.AsyncCodeActivity.CompleteAsyncCodeActivityData.CompleteAsyncCodeActivityWorkItem.Execute(ActivityExecutor executor, BookmarkManager bookmarkManager)
解决方案建议
- 检查ClientId格式:确认Office 365 Scope活动中配置的ClientId是有效的GUID格式(示例:
123e4567-e89b-12d3-a456-426614174000),删除多余空格或特殊字符 - 清理认证缓存:删除本地UiPath认证缓存文件(路径:
C:\Users\<你的用户名>\AppData\Roaming\UiPath\Authentication),重新配置Office 365认证信息 - 验证Azure应用注册:如果使用自定义Azure AD应用,确认门户中获取的ClientId正确,且已授予
Mail.Read等必要权限 - 版本兼容性检查:确保UiPath Studio与Office 365活动包版本匹配,尝试更新至最新稳定版
- 清理项目缓存:删除项目目录下的
.nuget和obj文件夹,重新构建项目
内容的提问来源于stack exchange,提问作者Ana Carolina Costa
相关产品推荐
相关产品推荐

