许多人在使用 OneDrive 帐户登录 Power Automate 时遇到“访问被拒绝”错误。 这可能会完全阻止登录,或者您可能能够登录,但流程无法运行。在此处输入图像描述
调查此问题后,这似乎是 OneDrive 服务器拒绝某些帐户的 Power Automate 访问的问题(例如,我的 Outlook 帐户工作正常)。
如果您需要在等待客户支持时让流程正常工作,可以使用以下解决方法:
转到本地文件并获取原始数据:C:\Users[USERNAME]\AppData\Local\Microsoft\Power Automate Desktop\Console\Workspace。每个文件夹都是该文件夹中本地的每个流存储。现在进入 2 级,您将看到类似这样的内容。 在此输入图片描述 所以你需要在这里打开3个文件。 controlRepo.appmask - 是您的 UI 元素,imageRepo.imgrepo - 是您保存的屏幕截图,而 script.robin 是实际的代码流本身。
可能存在更简化的解决方案,但目前,我的解决方法包括一次将一个文件传输到新流程。我的建议是从 imageRepo.imgrepo > controlRepo.appmask > script.robin 进行流程导入
将此代码复制到您的流程中(基本 ctrl+C 然后 ctrl+V 到流程)
Clipboard.GetText Text=> ClipboardText
Text.Replace Text: ClipboardText TextToFind: $'''\\''' IsRegEx: False IgnoreCase: False ReplaceWith: $'''\\\\''' ActivateEscapeSequences: False Result=> ClipboardText
Text.Replace Text: ClipboardText TextToFind: $'''\"''' IsRegEx: False IgnoreCase: False ReplaceWith: $'''\\\"''' ActivateEscapeSequences: False Result=> ClipboardText
Text.SplitText.Split Text: ClipboardText StandardDelimiter: Text.StandardDelimiter.NewLine DelimiterTimes: 1 Result=> TextList
Text.JoinText.JoinWithCustomDelimiter List: TextList CustomDelimiter: $'''\\r\\n''' Result=> JoinedText
现在用记事本打开 imageRepo.imgrepo,如下图所示,然后按 Ctrl+A 和 Ctrl+C 然后运行流程。这里会将剪贴板转换为单个字符串。现在执行“Joinedtext”并将其复制并粘贴到下面的模板中。现在对 controlRepo.appmask 做同样的事情
Display.ShowMessageDialog.ShowMessage Title: $'''test''' Message: $'''test''' Icon: Display.Icon.None Buttons: Display.Buttons.OK DefaultButton: Display.DefaultButton.Button1 IsTopMost: False ButtonPressed=> ButtonPressed
# [ControlRepository][PowerAutomateDesktop]
{
"ControlRepositorySymbols": [
{
"IgnoreImagesOnSerialization": false,
"Repository": "[PASTE your controlRepo.appmask HERE]",
"ImportMetadata": {
"DisplayName": "Local computer",
"ConnectionString": "",
"Type": "Local",
"DesktopType": "local"
},
"Name": "appmask"
}
],
"ImageRepositorySymbol": {
"Repository": "[PASTE your imageRepo.imgrepo HERE]",
"ImportMetadata": {},
"Name": "imgrepo"
},
"ConnectionReferences": []
}
现在完成后,您可以选择所有 ctrl+C 然后转到电源自动创建新流程和 cotrl+V 。现在您将在右侧面板中看到一些 UI 元素和图像。 在这里您可以从主流程中选择显示消息。
如果你有子流量。创建与旧名称完全相同的名称,然后再次转到 Script.robin。查找“FUNCTION [YOUR SUB FLOW NAME] GLOBAL”和“END FUNCTION”之间的代码 Ctrl+C,然后返回电源 Automate。在同一个子流名称 Ctrl+V 中。对每个子流程执行相同的操作。
有视频解释如何操作吗?