Azure 如何开发Office 365自定义文件处理程序

Azure 如何开发Office 365自定义文件处理程序,azure,visual-studio-2015,office365,add-in,filehandler,Azure,Visual Studio 2015,Office365,Add In,Filehandler,我听说Microsoft为Office 365中的自定义非Microsoft文件类型提供了文件处理程序加载项 我在教程中发现后尝试了这一点,但它似乎有点过时,尽管它上次更新是在2017年1月,因为这里提到的几点与我的环境不同-我在Windows 10上使用Visual Studio 2015 所以基本上这就是我想要实现的。 我有一个扩展名为.encx的自定义文件类型,它只是一个使用我们自己的加密算法加密的docx文件。我可以访问Office 365租户管理帐户。我想让我们的用户能够在OneDri

我听说Microsoft为Office 365中的自定义非Microsoft文件类型提供了文件处理程序加载项

我在教程中发现后尝试了这一点,但它似乎有点过时,尽管它上次更新是在2017年1月,因为这里提到的几点与我的环境不同-我在Windows 10上使用Visual Studio 2015

所以基本上这就是我想要实现的。 我有一个扩展名为.encx的自定义文件类型,它只是一个使用我们自己的加密算法加密的docx文件。我可以访问Office 365租户管理帐户。我想让我们的用户能够在OneDrive web界面中打开此加密文件

这是我的环境: Microsoft Visual Studio Enterprise 2015版本14.0.25123.00更新2 Microsoft.NET Framework版本4.6.01586 Azure SDK v2.9.6

我根据VS2015中Office类别中的文件处理程序应用程序模板创建了一个新的Visual C项目。 我还为Office 365 API添加了连接服务。 因为我在Azure帐户上有一个免费试用订阅,所以我添加了所有必需的东西,如SQL数据库服务器、SQL db、Azure Active Directory—基本上就是上面教程中解释的所有东西。然后我出版了,出版很成功。我可以在我的浏览器中的*.azurewebsites.net上看到它,甚至可以登录工作

如教程所述,我使用Addin manager示例Azure应用程序更新外接程序设置,如文件图标、预览/打开/新建端点链接等,并点击更新按钮。现在我上传了一些.encx文件到OneDrive帐户,但它仍然没有显示自定义图标,也没有在自定义文件处理程序中打开它,它只是触发浏览器文件下载

我一直对这个问题耿耿于怀,因为我在网上找不到任何有用/详细的答案

我真的需要微软人的帮助

更新: 现在我有了一些进展-我可以看到自定义文件图标,.encx文件现在尝试在我选择它时显示预览,如果我单击它,它将在“新建”选项卡中打开。 问题是Preview,Open可用于my localhost URL,但不能用于已发布的Azure web服务URL。它表示抱歉,无效URL出现问题:| 0

更新2: 以下是Azure web服务应用程序的清单文件:

{
  "appId": "0afc5455-a05b-4cc1-b241-89c717d9bce4",
  "appRoles": [],
  "availableToOtherTenants": false,
  "displayName": "MyFileHandler",
  "errorUrl": null,
  "groupMembershipClaims": null,
  "homepage": "http://my***.azurewebsites.net/",
  "identifierUris": [
    "https://filevisor.net/MyFileHandler"
  ],
  "keyCredentials": [],
  "knownClientApplications": [],
  "logoutUrl": null,
  "oauth2AllowImplicitFlow": false,
  "oauth2AllowUrlPathMatching": false,
  "oauth2Permissions": [
    {
      "adminConsentDescription": "Allow the application to access MyFileHandler on behalf of the signed-in user.",
      "adminConsentDisplayName": "Access MyFileHandler",
      "id": "5b21f973-edd5-4ace-a369-cfff0ed3b8fa",
      "isEnabled": true,
      "type": "User",
      "userConsentDescription": "Allow the application to access MyFileHandler on your behalf.",
      "userConsentDisplayName": "Access MyFileHandler",
      "value": "user_impersonation"
    }
  ],
  "oauth2RequirePostResponse": false,
  "passwordCredentials": [
    {
      "customKeyIdentifier": null,
      "endDate": "2018-02-02T05:22:35.7514025Z",
      "keyId": "b19de090-a661-402f-8ae2-624f148ff6fd",
      "startDate": "2017-02-02T05:22:35.7509019Z",
      "value": null
    }
  ],
  "publicClient": false,
  "replyUrls": [
    "http://my***.azurewebsites.net/"
  ],
  "requiredResourceAccess": [
    {
      "resourceAppId": "00000002-0000-0000-c000-000000000000",
      "resourceAccess": [
        {
          "id": "311a71cc-e848-46a1-bdf8-97ff7156d8e6",
          "type": "Scope"
        }
      ]
    },
    {
      "resourceAppId": "00000003-0000-0000-c000-000000000000",
      "resourceAccess": [
        {
          "id": "17dde5bd-8c17-420f-a486-969730c1b827",
          "type": "Scope"
        }
      ]
    }
  ],
  "samlMetadataUrl": null,
  "extensionProperties": [],
  "objectType": "Application",
  "objectId": "0bdea3fb-5ff7-4b8c-aa2c-6556a4c2ce46",
  "deletionTimestamp": null,
  "createdOnBehalfOf": null,
  "createdObjects": [],
  "manager": null,
  "directReports": [],
  "members": [],
  "memberOf": [],
  "owners": [],
  "ownedObjects": []
}

我在您的清单中没有看到加载项属性,如下所述:。可能只是从清单的下载副本中取消了此属性,但如果尚未将此属性添加到清单中,请添加它并查看是否有帮助

我在您的清单中没有看到加载项属性,如下所述:。可能只是从清单的下载副本中取消了此属性,但如果尚未将此属性添加到清单中,请添加它并查看是否有帮助

当你说它不。。。在自定义文件处理程序中打开它,您的意思是预览不会出现,还是文件不会在自定义编辑器中打开?另外,你可以使用Fiddler工具来查看发送了什么POST请求,以及当你点击。。。文件的链接?当你打开文件进行编辑时?当我说它不在自定义文件处理程序中打开时,我的意思是OneDrive根本无法识别已注册的自定义文件扩展名-图标不会更改,它不会在“新建”选项卡中打开文件处理程序应用程序,相反,它会触发正常下载,就像普通未知文件类型一样。现在,当我在另一台计算机上尝试时,图标出现了-看起来像缓存问题?@RickKirkham Microsoft我已更新了问题-可能的原因是什么?我必须尝试将其分为2条注释。我发现很难理解什么在起作用,什么不起作用。你经常使用it这个词,但在很多情况下,我不知道它指的是什么。请你重述一下这个问题,并用具体的名词替换它好吗?另外,你能把你的清单添加到问题中吗?当应用程序托管在Azure上时使用的那个。你可以伪装域名。当你说它不。。。在自定义文件处理程序中打开它,您的意思是预览不会出现,还是文件不会在自定义编辑器中打开?另外,你可以使用Fiddler工具来查看发送了什么POST请求,以及当你点击。。。文件的链接?当你打开文件进行编辑时?当我说它不在自定义文件处理程序中打开时,我的意思是OneDrive根本无法识别已注册的自定义文件扩展名-图标不会更改,它不会在“新建”选项卡中打开文件处理程序应用程序,相反,它会触发正常下载,就像普通未知文件类型一样。现在,当我在另一台计算机上尝试时,图标出现了-看起来像缓存问题?@RickKirkham Microsoft我已更新了问题-可能的原因是什么?我必须尝试将其分为2条注释。我发现很难理解什么在起作用,什么不起作用。你经常使用it这个词,在很多情况下,我不知道它指的是什么
o。请你重述一下这个问题,并用具体的名词替换它好吗?另外,你能把你的清单添加到问题中吗?当应用程序托管在Azure上时使用的那个。你可以伪装域名。没有时间听你的回答,我会很快尝试你的建议。没有时间听你的回答,我会很快尝试你的建议。