电源自动错误 - Onedrive 访问被拒绝。替代解决方案-恢复本地文件并将其导入到新帐户

问题描述 投票:0回答:1

许多人在使用 OneDrive 帐户登录 Power Automate 时遇到“访问被拒绝”错误。 这可能会完全阻止登录,或者您可能能够登录,但流程无法运行。在此处输入图像描述

调查此问题后,这似乎是 OneDrive 服务器拒绝某些帐户的 Power Automate 访问的问题(例如,我的 Outlook 帐户工作正常)。

如果您需要在等待客户支持时让流程正常工作,可以使用以下解决方法:

  1. 转到本地文件并获取原始数据:C:\Users[USERNAME]\AppData\Local\Microsoft\Power Automate Desktop\Console\Workspace。每个文件夹都是该文件夹中本地的每个流存储。现在进入 2 级,您将看到类似这样的内容。 在此输入图片描述 所以你需要在这里打开3个文件。 controlRepo.appmask - 是您的 UI 元素,imageRepo.imgrepo - 是您保存的屏幕截图,而 script.robin 是实际的代码流本身。

  2. 可能存在更简化的解决方案,但目前,我的解决方法包括一次将一个文件传输到新流程。我的建议是从 imageRepo.imgrepo > controlRepo.appmask > script.robin 进行流程导入

  • 首先创建一个流程来准备 imageRepo.imgrepo 和 controlRepo.appmask 中的复制字符串

将此代码复制到您的流程中(基本 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 元素和图像。 在这里您可以从主流程中选择显示消息。

  1. 将代码分为主流程和子流程。 现在转到 Script.robin。如果你没有子流量。然后复制(CTRL+C)“@SENSITIVE:[]”下的所有内容 如果您确实有子流,请在“FUNCTION [YOUR SUB FLOW NAME] GLOBAL”之前停止 现在回到电源自动化中的Mainflow CTRL+V 你会看到再次出现。

如果你有子流量。创建与旧名称完全相同的名称,然后再次转到 Script.robin。查找“FUNCTION [YOUR SUB FLOW NAME] GLOBAL”和“END FUNCTION”之间的代码 Ctrl+C,然后返回电源 Automate。在同一个子流名称 Ctrl+V 中。对每个子流程执行相同的操作。

onedrive power-automate
1个回答
0
投票

有视频解释如何操作吗?

© www.soinside.com 2019 - 2024. All rights reserved.