如何开发 Office 365 自定义文件处理程序
How to Develop Office 365 Custom File Handler
我听说 Microsoft 为 Office 365 中的自定义(非 Microsoft)文件类型提供文件处理程序加载项。
我尝试按照 here 找到的教程进行此操作,但它似乎有点过时(尽管它最近一次更新是在 2017 年 1 月),因为其中提到的几件事与我的环境不同 - 我使用 Visual Studio 2015 年 Windows 10.
所以基本上这就是我想要实现的目标。
我有一个带有 .encx
扩展名的自定义文件类型,它只是一个使用我们自己的加密算法的加密 docx
文件。我可以访问 Office 365 租户管理员帐户。我想让我们的用户能够在 OneDrive 网页界面中打开这个加密文件。
这是我的环境:
Microsoft Visual Studio Enterprise 2015 版本 14.0.25123.00 更新 2
Microsoft .NET 框架版本 4.6.01586
Azure SDK v2.9.6
我在 VS 2015 的 Office 类别中基于文件处理程序应用程序模板创建了一个新的 Visual C# 项目。
我为 Office 365 添加了连接服务 API。
由于我在 Azure 帐户上有免费试用订阅,我添加了所有必需的东西,如 SQL 数据库服务器、SQL 数据库、Azure Active Directory - 基本上是上面教程中解释的所有内容。然后我发布了,发布成功了。我可以在我的浏览器中的 *.azurewebsites.net 上看到它,甚至可以登录。
我按照教程中的描述使用插件管理器示例 Azure 应用程序来更新插件设置,例如文件图标、preview/open/new 端点 link 等,然后点击更新按钮。现在我上传了一些 .encx
文件到 OneDrive 帐户,但它仍然没有显示自定义图标,也没有在自定义文件处理程序中打开它(它只是触发浏览器文件下载)。
我一直在为这个问题烦恼,因为我在网上找不到任何 helpful/detailed 答案。
我非常需要 Microsoft 人员的帮助。
更新:
现在我有了一些进步 - 我可以看到自定义文件图标,.encx 文件现在会在我 select 时尝试将某些内容显示为预览,并在我单击它时在新选项卡中打开。
问题是 Preview,Open 适用于我的本地主机 URL,但不适用于已发布的 Azure Web 服务 URL。它说 Sorry, something went wrong
和 Invalid 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": []
}
我在您的清单中没有看到 "addIns" 属性,如下所述:Configure and update file handlers in Office 365。可能是这个 属性 只是从下载的清单副本中隐藏了,但是如果你还没有将这个 属性 添加到清单中,请添加它,看看是否有帮助。
我听说 Microsoft 为 Office 365 中的自定义(非 Microsoft)文件类型提供文件处理程序加载项。
我尝试按照 here 找到的教程进行此操作,但它似乎有点过时(尽管它最近一次更新是在 2017 年 1 月),因为其中提到的几件事与我的环境不同 - 我使用 Visual Studio 2015 年 Windows 10.
所以基本上这就是我想要实现的目标。
我有一个带有 .encx
扩展名的自定义文件类型,它只是一个使用我们自己的加密算法的加密 docx
文件。我可以访问 Office 365 租户管理员帐户。我想让我们的用户能够在 OneDrive 网页界面中打开这个加密文件。
这是我的环境:
Microsoft Visual Studio Enterprise 2015 版本 14.0.25123.00 更新 2
Microsoft .NET 框架版本 4.6.01586
Azure SDK v2.9.6
我在 VS 2015 的 Office 类别中基于文件处理程序应用程序模板创建了一个新的 Visual C# 项目。
我为 Office 365 添加了连接服务 API。
由于我在 Azure 帐户上有免费试用订阅,我添加了所有必需的东西,如 SQL 数据库服务器、SQL 数据库、Azure Active Directory - 基本上是上面教程中解释的所有内容。然后我发布了,发布成功了。我可以在我的浏览器中的 *.azurewebsites.net 上看到它,甚至可以登录。
我按照教程中的描述使用插件管理器示例 Azure 应用程序来更新插件设置,例如文件图标、preview/open/new 端点 link 等,然后点击更新按钮。现在我上传了一些 .encx
文件到 OneDrive 帐户,但它仍然没有显示自定义图标,也没有在自定义文件处理程序中打开它(它只是触发浏览器文件下载)。
我一直在为这个问题烦恼,因为我在网上找不到任何 helpful/detailed 答案。
我非常需要 Microsoft 人员的帮助。
更新:
现在我有了一些进步 - 我可以看到自定义文件图标,.encx 文件现在会在我 select 时尝试将某些内容显示为预览,并在我单击它时在新选项卡中打开。
问题是 Preview,Open 适用于我的本地主机 URL,但不适用于已发布的 Azure Web 服务 URL。它说 Sorry, something went wrong
和 Invalid 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": []
}
我在您的清单中没有看到 "addIns" 属性,如下所述:Configure and update file handlers in Office 365。可能是这个 属性 只是从下载的清单副本中隐藏了,但是如果你还没有将这个 属性 添加到清单中,请添加它,看看是否有帮助。