问题标签 [pnp-js]

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 投票
0 回答
72 浏览

sharepoint-online - 在 PowerApps 组件框架中使用 PnP JS 从 SharePoint 列表中获取数据

我们使用 PowerApps 组件框架 (PCF) 创建了一个组件。我们正在尝试使用 PnP JS 连接到 SharePoint 列表并从中获取数据。但与 SPFx 不同的是,在 PCF 中,我们没有获得可以传递给 PnP 设置context的类型对象。WebPartContext

在 SPFX 中,我们曾经写过这样的东西。

我们如何才能得到需要传递到spfxContextPCF 中的对象?

0 投票
2 回答
657 浏览

jquery - SharePoint Online - SPFx - 如何在 PnPjs 中使用 GroupBy

我是 SPFx PnPjs 的新手。我想在查询中使用 GroupBy,但在可视代码中看不到智能感知。这是我的查询:

输出我想要类似的东西:

有什么建议我可以在上面的查询中使用“GroupBy”吗?

0 投票
1 回答
34 浏览

sharepoint - F# 和 PnP SharePoint

我是 F# 的新手,正在尝试重新创建我过去使用 C# 或 Powershell 构建的一些简单应用程序。我正在尝试获取网络的多个属性。在 F# 中,我可以获取单个属性,但我不确定用于一次获取多个属性的语法。

举个例子:

F# 中有没有办法将它组合成一行?在 C# 中,我会这样称呼它:

0 投票
0 回答
320 浏览

visual-studio - Add-PnPPage:找不到方法:'System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1Enumerator.MoveNextAsync()'

我最近在 Visual Studio Code 中运行 PowerShell 脚本时收到一条错误消息。两周前,我在另一台计算机上运行相同的代码而没有任何错误。

**Add-PnPPage:找不到方法:'System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1 Enumerator.MoveNextAsync()'。在 C:\Users\User01\Desktop\Downloads_Site Creation App\Project SP Site\ProjectSite.ps1:350 char:17

  • ... 添加-PnPPage -Name $siteTitleNoSpaces -LayoutType Home -Co ...
    • CategoryInfo : WriteError: (:) [Add-PnPPage], MissingMethodException
    • FullyQualifiedErrorId : 例外,PnP.PowerShell.Commands.Pages.AddPage**

从“Windows PowerShell ISE”应用程序或作为独立 PS1 脚本运行时,我正在运行的 PowerShell 代码可以正常工作。从 Visual Studio Code 中运行 PowerShell 脚本时,我只会收到错误消息。

这些是我需要安装以使脚本运行的 PowerShell 模块

安装-模块-名称 MSOnline -Force -AllowClobber

安装模块 -Name Az -Force -AllowClobber

安装模块 -名称 AzureADPreview -Force -AllowClobber

安装模块-名称 Microsoft.Online.SharePoint.PowerShell -Force -AllowClobber

安装模块 -Name PnP.PowerShell -Force -AllowClobber

这些是我在尝试安装模块时收到的警告消息:

警告:模块“Microsoft.Online.SharePoint.PowerShell”的版本“16.0.21116.12000”当前正在使用中。关闭应用程序后重试操作。

警告:模块“PnP.PowerShell”的版本“1.4.0”当前正在使用中。关闭应用程序后重试操作。

警告:模块“PackageManagement”的版本“1.4.7”当前正在使用中。关闭应用程序后重试操作。

使用 Visual Studio Code 导致错误消息的 PowerShell 代码:

$newPage = $siteTitleNoSpaces Add-PnPPage -Name $siteTitleNoSpaces -LayoutType Home -CommentsEnabled:$false

我知道代码没问题,因为错误消息只发生在 Visual Studio Code 中。

我希望你能帮助科林

0 投票
0 回答
69 浏览

powershell - 使用 -TakeSourcePageName 时不会重命名现代页面

问题区域 [ ] 页面转换:使用 PnP PowerShell 中的页面转换时出错

预期或期望的行为 发布执行脚本我期待经典页面在将参数 (-TakeSourcePageName) 设置为 true 后预计将重命名为“Previous_Pagename.aspx”,而现代页面将重命名为“Pagename.aspx”

Observed Behavior Classic 页面在转换后仍为旧文件名“Home.aspx”,现代页面为“Migrated_Home.aspx”

重现步骤 [我正在尝试为整个站点页面库执行页面转换脚本。第 1 步:输入站点 URL 第 2 步:输入参数 (-TakeSourcePageName) 的值作为 Previous 或 Old

非常感谢你。您的帮助将不胜感激。]

#PSScript 用于页面转换

0 投票
0 回答
46 浏览

javascript - 多次调用时,Sharepoint fetchClientFactory 未更新站点 url

我有一个场景,我需要从 Sharepoint 子站点获取列表数据。

我的代码是这样的。

我的代码在 AWS Lambda 中运行。运行时:nodejs 10+

Sharepoint 中添加了一些参与者,我正在尝试获取它们以保存在数据库中。每个站点都有唯一的参与者,例如站点 1 中的参与者是 p1、p2、p3,站点 2 中的参与者是 pp1、pp2、pp3。当我的代码为 site1 运行时,我得到了正确的参与者,但对于 site2,我从 site1 得到了错误的参与者。我已经打印了日志并发现 fetchClientFactory 没有被更新。我没有直接访问 sharepoint 的权限,这是我第一次使用 Sharepoint nodejs lib。

0 投票
1 回答
90 浏览

sharepoint-online - 如何使用 PnP JS 在 SharePoint Online 中以编程方式添加页面/Web 部件区域/Web 部件?

我创建了页面,然后使用以下功能以编程方式添加了 Web 部件区域/Web 部件,

现在,我需要创建一个页面,然后使用 PnP JS 在 SharePoint Online 中以编程方式添加 Web 部件区域/Web 部件。

任何人都可以帮助我吗?

提前致谢。

0 投票
0 回答
129 浏览

sharepoint - Outlook 加载项任务窗格和本地 SharePoint 2019

我想为 Outlook 开发一个现代 Office 加载项。此加载项应支持与 SP2016、SP2019 和 SPO 的连接。对于这些 SharePoint 连接,我想使用 SP-PNP-JS,但我无法获得 SharePoint 上下文。

我正在使用 yeoman-generator 创建一个新的 Outlook 加载项

yo office --projectType react --name "Outlook AddIn" --host outlook --ts true.

侧载到 Outlook 客户端和 OWA 工作正常。在这种情况下,我将 sp-pnp-js 安装到这个项目中

npm install @pnp/logging @pnp/common @pnp/odata @pnp/sp @pnp/nodejs --save

并尝试将 SharePoint-context 与https://pnp.github.io/pnpjs/getting-started/#establish-context中的每个示例连接起来。

我还尝试与 sp-addinhelpers https://pnp.github.io/pnpjs/sp-addinhelpers/建立连接。

几天后,我真的很沮丧。是否可以在 Office 加载项中使用 sp-pnp-js?有没有人在本地 Office-Addins 或替代 REST 和 JSOM 中使用 SP-PNP-JS 的解决方案?

我正在使用 SPO 进行开发。此加载项应集成到 Outlook 2019 和 SharePoint 2016/2019 本地。

感谢帮助!!!

更新 - 2021/04/11 我创建了一个没有 yeoman-generator 的新纯 ReactJS 项目。在这个项目中,我通过 npm install 添加了 sp-pnp-js,并从官方 Office.js CDN 链接了 office.js。

任务窗格.html

编译后的文件将上传到 SharePoint。现在我得到了正确的上下文,并且我的 SharePoint 操作运行正确。我已经初始化 Office:

index.js

仅在 IE11 中,我'SCRIPT5009: 'Office' is undefined在该行收到错误Office.initialize。Outlook 桌面客户端中的任务窗格为空白,因为客户端正在调用 iexplorer.exe。我花了很多天来解决这个问题。我将非常感谢提示。

0 投票
1 回答
180 浏览

sharepoint - Sharepoint Online - 只读用户 - PnP 现代搜索 - 无法获得搜索结果

PnP 现代搜索版本 3.18

在 Office 365 中创建新用户并将其放入 SharePoint 站点的“访问者”组时,仅具有“仅查看”或“只读”访问权限。

PnP 现代搜索结果中的搜索结果不会显示给该用户。具有编辑功能的用户对 Web 部件没有任何问题。

重新索引站点并不能解决此问题。

重现:

*在 Office 365 管理员中创建没有许可证的用户 *将用户添加到具有只读权限的 SharePoint“访问者” *转到网站并使用 pnp 现代搜索框进行搜索 *搜索结果不显示任何内容 *如果用户获得编辑权限,搜索结果出现。

谢谢!感谢您的帮助!

0 投票
0 回答
25 浏览

javascript - SharePoint Online API - 检测 NoScript (DenyAddAndCustomizePages) 状态?

我正在尝试使用 SharePoint 框架 TypeScript 项目 ( https://tenancy.sharepoint.com/sites/classic-example/_api/site ) 中的 _api 方法查询 SharePoint Online 网站的属性,并确定该网站是否是一个 NoScript 网站与否。目标是最终将用户自定义操作写入站点(如果支持)。

目前,我似乎只能通过尝试编写 UCA 来检测是否允许自定义脚本,并使用 PNP JS https://pnp.github.io/pnpjs/sp/user-custom-actions/add ()获得未定义的结果方法。
但如果用户也没有权限,就会发生这种情况。

我希望检测网站是否允许它与用户根本没有权限。

有问题的代码不会在正在检查的站点上运行。它是一个检查环境中其他站点的 Web 部件。