gd-sprest
2.2.8
See the version list below for details.
dotnet add package gd-sprest --version 2.2.8
NuGet\Install-Package gd-sprest -Version 2.2.8
<PackageReference Include="gd-sprest" Version="2.2.8" />
paket add gd-sprest --version 2.2.8
#r "nuget: gd-sprest, 2.2.8"
// Install gd-sprest as a Cake Addin #addin nuget:?package=gd-sprest&version=2.2.8 // Install gd-sprest as a Cake Tool #tool nuget:?package=gd-sprest&version=2.2.8
SharePoint Online/On-Premise REST Framework
Overview:
The SharePoint REST Framework was designed for SharePoint 2013, but works in both SharePoint 2013/2016 and Office 365. This framework is designed to remove the overhead of SharePoint development, allowing the developer to focus on the client requirements. A reference to the associated github projects are listed below:
- gd-sprest - An easy way to execute requests against the SharePoint 2013/Online REST api
- gd-sprest-react - Extends the Office Fabric React Framework with components designed for SharePoint 2013/Online.
- gd-sprest-webparts - Example SharePoint 2013/Online modern webparts.
- Wiki - Additional details of getting started with this framework.
gd-sprest vs pnp-js-core
The gd-sprest library is similar to the pnp-js-core, with the main difference being the ability to be used within the browser console window. This feature provides a "Powershell-Like" experience within the browser console window. Some reasons to use this functionality:
- No access to the server farm
- Ability to create scripts which can be tested in staging before running aginst production
- For more efficient development of code, the developer has the ability to test code requests without having to deploy the solution
- Easy way to perform research and development by exploring the REST API with the available intellisense
Bugs/Feature Requests/Help
Click Here to report any bugs, request any new features or if need help with code examples. Pull requests are welcomed for anyone interested in submitting them. Feel free to email for other questions.
Security
The REST api execute requests based on the user's permissions. There is no way to elevate priviledges requests against the SharePoint REST.
Get Started
Packages
NPM
Add the npm package to your project:
npm --save install gd-sprest
Yarn
Add the package from yarn:
yarn add gd-sprest
Code Examples
JavaScript
var $REST = require("gd-sprest");
// Get the current web and lists
$REST.Web().query({
Expand: ["Lists"]
}).execute(function(web) {
// Parse the lists
for(var i=0; i<web.Lists.results.length; i++) {
var list = web.Lists.results[i];
}
});
NodeJS
const $REST = require("gd-sprest);
// Create a new generic list.
request = $REST.Web("https://dev.sharepoint.com")
.Lists().add({
BaseTemplate: $REST.SPTypes.ListTemplateType.GenericList,
Title: "New List"
});
// Log the request information
console.log(request.getInfo());
// Console Output:
// {
// data: '{"BaseTemplate":100,"Title":"New List","__metadata":{"type":"SP.List"}}',
// method: 'POST',
// url: 'https://dev.sharepoint.com'
// }
TypeScript
import { List }
// Get the "Site Assets" library, fields and views
(new List("Site Assets"))
// Query the list
.query({
Expand: ["Fields", "Views"]
})
// Execute the request
.execute((list) => {
// Parse the fields
for(let i=0; i<list.Fields.results.length; i++) {
let field = list.Fields.results[i];
}
// Parse the views
for(let i=0; i<list.Views.results.length; i++) {
let field = list.Views.results[i];
}
});
Development
Add-In Model
The add-in model uses the app web for SharePoint Hosted Apps/Add-Ins. The provider hosted model would use CSOM, and not this library. This framework has built-in helper methods and a global flag for determining which web the request should execute against Host vs App/Add-In. The request will be automatically updated based on the target web, so there is no additional code required from the developer. This allows the developer to create a single source of code that works against both the SharePoint and App/Add-In webs.
Available Libraries
import {
$REST,
ContextInfo,
Email,
Helper,
JSLink,
List,
PeopleManager,
PeoplePicker,
ProfileLoader,
RequestType,
Search,
Site,
SocialFeed,
SPTypes,
Types,
UserProfile,
Web
} from "gd-sprest";
Automation
The "SharePoint Configuration" class allows the developer to define configuration files for the SharePoint solution. This class contains built-in methods for execution (install, uninstall, etc), so there is no need to write additional code.
Intellisense
One of the more important features of this framework is the intellisense. The classes have been setup to ensure the developer does not need to define the output type of the request. The "Types" and "SPTypes" classes can both be imported into the project. The "Types" class includes allows of the interfaces available in the library. The "SPTypes" class contains all of the enumerators in SharePoint. These interfaces can be used to provide intellisense for the custom variables.
Modern Experience in SharePoint 2013
The gd-sprest-react library contains SharePoint components:
- Field
- Item Form
- Panel
- People Picker
- WebParts These components use the office fabric ui, to provide an Office 365 experience within SharePoint 2013.
Upgrade Path to SharePoint Framework
The react components developed for SharePoint 2013 can be ported over to the SharePoint Framework's modern webpart.
WebParts
The webpart component allows the developer to easialy assign react components to be rendered based on the page's state (Display/Edit). This component currently supports webpart, publishing and wiki pages. The following webpart components are available:
- Configuration - A react component to be used when the page is being edited, displaying an "Edit Configuration" button to render a panel for custom webpart properties.
- List Configuration - Inherits the configuration webpart, displaying a web url and list dropdown.
- Field Configuration - Inherits the list configuration webpart, adding a field picker.
- Search Configuration - Inherits the field configuration webpart, filtering the field picker to field types supported by the search webpart.
- List - Allows the developer to define an OData or CAML query, and contains two methods:
- onRenderContainer - Optional method with the query results passed as the input parameter.
- onRenderItem - Requires method with the item result passed as the input parameter.
- Search - Inherits the list webpart, adding a search textbox. Based on the configuration fields, a mapper is created based on the item data. This feature will automatically filter the items displayed.
- Tabs - Displays all associated webparts within the same zone in tabs.
Learn more about Target Frameworks and .NET Standard.
-
.NETFramework 4.5
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
6.4.9 | 543 | 6/24/2021 |
6.4.7 | 373 | 5/12/2021 |
6.3.4 | 357 | 2/14/2021 |
6.2.5 | 501 | 12/19/2020 |
6.1.4 | 451 | 10/16/2020 |
6.1.2 | 446 | 10/7/2020 |
6.1.0 | 487 | 9/28/2020 |
6.0.9 | 448 | 9/26/2020 |
6.0.2 | 450 | 8/5/2020 |
6.0.0 | 461 | 7/29/2020 |
5.9.8 | 453 | 7/24/2020 |
5.9.6 | 545 | 7/23/2020 |
5.9.3 | 452 | 7/22/2020 |
5.9.2 | 517 | 7/22/2020 |
5.9.0 | 497 | 7/14/2020 |
5.8.4 | 547 | 7/3/2020 |
5.8.2 | 463 | 6/17/2020 |
5.7.5 | 566 | 5/31/2020 |
5.7.3 | 550 | 5/28/2020 |
5.6.9 | 469 | 5/18/2020 |
5.6.6 | 501 | 5/15/2020 |
5.5.8 | 469 | 5/5/2020 |
5.5.6 | 515 | 5/1/2020 |
5.5.4 | 528 | 4/29/2020 |
5.5.3 | 475 | 4/25/2020 |
5.5.0 | 515 | 4/21/2020 |
5.4.5 | 608 | 4/12/2020 |
5.4.0 | 547 | 4/8/2020 |
5.3.8 | 602 | 4/4/2020 |
5.3.7 | 510 | 3/27/2020 |
5.3.6 | 551 | 3/26/2020 |
5.3.5 | 528 | 3/25/2020 |
5.3.4 | 517 | 3/25/2020 |
5.3.3 | 564 | 3/24/2020 |
5.3.2 | 534 | 3/24/2020 |
5.3.1 | 640 | 3/22/2020 |
5.2.7 | 541 | 3/22/2020 |
5.2.6 | 634 | 2/27/2020 |
5.2.3 | 554 | 2/11/2020 |
5.2.2 | 520 | 2/10/2020 |
5.2.1 | 561 | 1/28/2020 |
5.1.9 | 693 | 1/25/2020 |
5.1.3 | 603 | 12/16/2019 |
5.0.8 | 538 | 11/24/2019 |
5.0.6 | 550 | 11/19/2019 |
5.0.5 | 535 | 11/17/2019 |
4.9.9 | 573 | 9/21/2019 |
4.9.2 | 614 | 8/25/2019 |
4.9.1 | 586 | 8/23/2019 |
4.9.0 | 585 | 8/21/2019 |
4.8.9 | 561 | 8/20/2019 |
4.8.7 | 624 | 6/14/2019 |
4.8.5 | 617 | 6/11/2019 |
4.8.2 | 696 | 4/22/2019 |
4.8.1 | 665 | 4/21/2019 |
4.7.9 | 618 | 4/18/2019 |
4.7.5 | 608 | 3/3/2019 |
4.7.4 | 612 | 3/2/2019 |
4.6.8 | 677 | 2/19/2019 |
4.6.4 | 716 | 2/7/2019 |
4.5.3 | 706 | 1/27/2019 |
4.5.2 | 713 | 1/21/2019 |
4.4.8 | 739 | 1/20/2019 |
4.4.6 | 783 | 1/20/2019 |
4.4.3 | 758 | 12/13/2018 |
4.4.2 | 769 | 12/12/2018 |
4.3.8 | 757 | 12/1/2018 |
4.3.7 | 722 | 11/11/2018 |
4.3.4 | 742 | 10/25/2018 |
4.2.7 | 801 | 9/26/2018 |
4.1.8 | 888 | 8/14/2018 |
4.1.6 | 885 | 7/23/2018 |
4.1.5 | 969 | 7/19/2018 |
4.1.4 | 986 | 7/17/2018 |
4.1.3 | 865 | 7/17/2018 |
4.1.2 | 972 | 7/13/2018 |
4.0.4 | 968 | 6/20/2018 |
3.9.1 | 1,045 | 4/29/2018 |
3.8.9 | 975 | 4/23/2018 |
3.8.6 | 983 | 4/18/2018 |
3.7.7 | 1,022 | 4/2/2018 |
3.6.4 | 1,002 | 3/17/2018 |
3.6.2 | 1,049 | 3/16/2018 |
3.6.0 | 950 | 3/15/2018 |
3.5.5 | 1,057 | 3/9/2018 |
3.5.3 | 1,024 | 3/8/2018 |
3.4.8 | 1,025 | 2/13/2018 |
3.4.1 | 996 | 2/7/2018 |
3.3.3 | 1,006 | 2/4/2018 |
3.2.3 | 911 | 1/28/2018 |
3.2.0 | 1,127 | 1/25/2018 |
2.5.9 | 1,127 | 1/10/2018 |
2.3.0 | 1,127 | 12/8/2017 |
2.2.8 | 988 | 12/2/2017 |
2.2.5 | 1,301 | 11/19/2017 |
2.2.4 | 1,277 | 11/5/2017 |
0.0.3 | 1,327 | 11/5/2017 |
0.0.2 | 1,362 | 11/5/2017 |
0.0.1 | 1,038 | 11/5/2017 |