问题标签 [provider-hosted]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
588 浏览

c# - 在 SharePoint Online 跨站点集合中读取 SharePoint 列表

我有一个在提供程序托管的应用程序(用 C# 编写并使用 CSOM 编写)中运行并访问我的 SharePointOnline 租户上的列表的函数。

只要我从创建列表的站点集中访问提供程序托管的应用程序,该功能就可以完全按预期工作。

但是,如果我从不同的站点集合访问提供程序托管的应用程序,我将无法访问列表(我得到一个未找到文件)异常。

如何使用 CSOM Microsoft.SharePoint.Client 库从另一个网站集中访问包含在一个网站集中的列表?

如何对 CSOM/提供商托管应用程序中的列表进行“跨站点收集”读取?

“本地”我会使用列表的 URL 打开 SPSite ...但是到目前为止我在 CSOM/SharePointOnline 中尝试的一切都失败了。

0 投票
1 回答
60 浏览

sharepoint - 是否可以在低信任提供程序托管应用程序中列出 SPItemEventReceiver?

我有一个以低信任模式运行的提供商托管应用程序。我有两个列表(一个用于主要项目,另一个作为已删除项目的存档)。我想知道是否以及如何在完全信任的解决方案中列出一个 SPItemEventReceiver 列表,它可以在应用程序上下文中添加或删除某些内容。

例如:

用户删除列表中的项目,通常他对存档列表没有贡献权限。我想在具有更高权限的应用程序上下文中执行代码,并将项目从一个列表复制到另一个列表。成功复制后将其从一侧删除。

  • 通常是否可以在以低信任模式运行的提供程序托管应用程序中拥有这样的 SPItemEventReceiver
  • 如果是,从哪里开始?
  • 是否也可以在具有更高权限的应用程序上下文中执行代码?

此致

沼泽

0 投票
0 回答
105 浏览

sharepoint - 阻止代码分析测试提供商托管的应用程序

我在一个有十几个提供商托管应用程序的 SharePoint 项目中。

对于那些不熟悉的人,PHA 基本上是花哨的 MVC Web 应用程序,但它们有一个辅助“特殊”项目,该项目被添加到包含 SharePoint 使用的应用程序清单的解决方案中(有点让人想起旧的 VDPROJ 项目类型)。这种特殊的项目类型仅在打包应用程序以供 SharePoint 使用时使用,它没有其他用途,因此不需要生成诸如 DLL 或 EXE 之类的输出(创建部署包时除外,但这与此对话无关)。

我遇到的问题是在所有 PHA 上运行代码分析时 Visual Studio 失败,因为 PHA 的应用程序项目不生成 DLL。分析没有运行并报告错误,它有一个硬故障,因为它期望特殊的应用程序项目生成一个 DLL,并且物理上找不到该 DLL。这甚至可以防止代码分析检查是否选中了“在构建时启用代码分析”复选框(如果您想知道,那就不用了)。我唯一得到的是两个错误消息,例如 CodePlex 上的这个人有

我什至使用 Visual Studio 2013 向导从头开始创建一个全新的 PHA 项目,将所有内容保留为默认值,这应该消除现有项目可能具有的硬外部引用的任何可能性。即使那样,我仍然遇到同样的问题。每次运行代码分析时,Studio 都会尝试测试该特殊项目并抛出硬故障。

奇怪的是代码分析在 TFS 构建代理上运行而没有发生任何事故。这使我认为该问题与 Studio 相关并且特定于本地安装的版本。但是,我已经用 VS2013 RTM、2013 Update 5 和 VS2015 Update 3 进行了尝试,它们的行为都相同。创建一个新的 PHA,按照提示使用 MVC 进行本地开发,然后运行 ​​Alt-F11 并重现问题。

任何人都可以让代码分析在 SharePoint PHA 上工作吗?

0 投票
0 回答
156 浏览

c# - Sharepoint Add In App 中的部署错误“尝试了太多自动重定向”

我正在使用 Sharepoint 2013 on Premises 开发提供商托管的应用程序。
我已经在 Visual Studio 2017 中创建了 Sharepoint 加载项应用程序。
之后,一旦我构建解决方案并在当时运行解决方案,我就会收到错误消息

尝试了太多自动重定向”部署错误。

我已按照在http://www.sharepointpals.com/post/Step-by-Step-approach-to-create-a-Provider-Hosted-Application-in-SharePoint-2013
Any中创建提供的托管应用程序的步骤进行操作感谢您的帮助,谢谢。

在此处输入图像描述

0 投票
0 回答
28 浏览

visual-studio-2017 - 最近对我的 SharePoint 2013 服务器上的 Visual Studio 2017 的更新破坏了加载项调试

我有一个 SharePoint 2013 服务器。我们安装了 Visual Studio 2015 和 2017。在最近的 VS2017 更新 (15.8.1) 之后,通过 Visual Studio 2017 调试提供程序托管加载项被破坏。

我收到通用消息“处理您的请求时发生错误”。我经历了所有必要的步骤,例如

  • 客户编号
  • 已启用 Windows 身份验证
  • 匿名身份验证已禁用
  • 证书在 TokenHelper.cs 中返回

奇怪的是现在它只打开一个浏览器选项卡并直接转到本地主机。它不会通过重定向消息转到 SharePoint URL。当然,代码会死掉,因为没有查询字符串参数,例如 SPHostUrl。

有没有人见过类似的问题?

0 投票
0 回答
32 浏览

javascript - 在提供程序托管的插件中显示 SharePoint 文档库/列表

我想在我的应用程序中显示 SharePoint 文档库中的特定文件夹。我想向他们展示所有 SharePoint 功能(如在 Word 中打开、删除、签出等)。我想这样做类似于 MS Teams - 例如,团队内部显示的一般文件夹。(在我看来它不是框架)

我的问题:是否有任何框架(Javascript 或 c#)或代码示例来执行此操作,例如团队?

我知道,如何使用 gridview 和 CSOM 来重建它。

指向库/文件夹的链接没有帮助,然后用户离开应用程序上下文。

0 投票
1 回答
271 浏览

sharepoint - Login failed for User when using Database connection in Owin Startup class

I am using Hangfire in my sharepoint provider hosted app. I have Owin Startup class.

I have initialised defaultConnection in my web.config file. Everytime i run, i get error saying Login failed for Domain\MachineName, I tried passing user id and password in connection string, but still is fails saying login failed for that user.

Can anyone help me to find the issue?

0 投票
1 回答
193 浏览

sharepoint - 使用 Graph REST API 获取 SharePoint 应用程序详细信息

我有一个使用 appreg.aspx 注册的提供商托管的 SharePoint 应用程序。我想使用 Azure Function 获取该应用程序的详细信息,例如应用程序名称、客户端密码开始和结束日期,以便我可以在应用程序客户端密码过期之前发送警报。我已经使用 PowerShell 脚本将日期增加到 3 年。

我经历了这个问题,关于客户端密钥到期的警报。但似乎解决方案较旧。我使用 PowerShell 脚本来获取应用程序详细信息,但我想使用 Azure Function,因为我已经拥有很少的其他功能,因此维护它们会更容易。

有没有办法使用 Graph REST API 获取应用程序详细信息?

谢谢!

0 投票
1 回答
233 浏览

session-cookies - SPO 提供程序托管的客户端 Web 部件不存储会话 cookie

我有一个提供商托管的应用程序,它使用 SharePoint 上下文过滤器对用户进行身份验证。我将第一个请求中生成的上下文令牌存储在会话变量中,并在后续调用中使用它。

当我单击站点内容中的应用程序并重定向到提供商托管的应用程序时,一切正常。

但是,当我导航到 SharePoint Online 中的一个页面时,该页面在提供商托管的应用程序中托管了一个客户端 Webpart,会话不起作用。

在检查应用程序 webpart 和应用程序直接打开时发送的请求标头时,我发现ASP.NET_SessionIdcookie 没有存储在应用程序 webpart 中,而是直接导航提供程序托管的应用程序时。

此外,我发现SPCacheKey在这两种情况下都存储了 cookie,只有在通过应用程序 Web 部件加载时不会存储 Session cookie。

我在 Chrome 和 IE 中对此进行了测试,两者都给出了相同的输出。

我尝试根据此链接修改 web.config

但它并没有解决问题。由于会话未存储,我的提供商托管应用程序中的每个 ajax 调用都被重定向到正在抛出的 appredirect.aspx

从源https://providerhosted.domain访问https://tenant.sharepoint.com上的 xmlhttprequest被 cors 策略阻止 无访问权限

为什么通过应用程序 webpart 加载时没有存储 ASP.NET 会话 ID cookie?请帮忙

0 投票
0 回答
33 浏览

sharepoint - SharePoint 加载项提供程序托管应用程序创建问题

我正在尝试使用 Visual Studio 2019 模板 ASP.net web-forms 为 SharePoint 2019 创建提供商托管应用程序。创建项目时出现以下错误。

在此处输入图像描述

在此处输入图像描述

以下是来自输出窗口的错误消息

“该进程无法访问文件 'D:\delete\PHASampleProject\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.2.0.1\tools\RoslynLatest\System.AppContext.dll',因为它正被另一个进程使用。”