博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Rest API的简单应用
阅读量:7103 次
发布时间:2019-06-28

本文共 3546 字,大约阅读时间需要 11 分钟。

写在前面

最近一直在搞通过Rest api的方式读取sharepoint文档库中的内容。有些地方需要注意,在此做下记录。

步骤

启动sharepoint服务器的服务

这里可以使用脚本的方式进行启动,脚本如下:

获得管理账户,比如你的账户为sp\administrator

$account = Get-SPManagedAccount "sp\administrator"$subscriptionSettingsServices = Get-SPServiceInstance | where {
$_.TypeName -like "Microsoft SharePoint Foundation Subscription Settings Service"} | ForEach-Object { $subscriptionSettingsService = $_; if($subscriptionSettingsService.Status -ne "Online") { Write-Host "start Subscription Settings Service ,Id:" + $_.Id Start-SPServiceInstance $subscriptionSettingsService | Out-Null } else{ Write-Host "Subscription Settings Service has started,Id:" + $_.Id }}Write-Host "starting Config Subscription Settings Service..."$appPoolSubSvc = New-SPServiceApplicationPool -Name SettingsServiceAppPool -Account $account$appSubSvc = New-SPSubscriptionSettingsServiceApplication –ApplicationPool $appPoolSubSvc –Name SettingsServiceApp –DatabaseName SettingsServiceDB_tmp$proxySubSvc = New-SPSubscriptionSettingsServiceApplicationProxy –ServiceApplication $appSubSvc$AppManageServices = Get-SPServiceInstance | where {
$_.TypeName -like "App Management service"} | ForEach-Object { $AppManageService = $_; if($AppManageService.Status -ne "Online") { Write-Host "start run App Management service ,Id:" + $_.Id Start-SPServiceInstance $AppManageService | Out-Null } else{ Write-Host "App Management service has started,Id:" + $_.Id }}Write-Host "App Management service..."$appPoolSubSvc = New-SPServiceApplicationPool -Name AppManagementServiceAppPool -Account $account$appSubSvc = New-SPAppManagementServiceApplication –ApplicationPool $appPoolSubSvc –Name AppManagementServiceApp –DatabaseName AppManagementServiceDB_tmp$proxySubSvc = New-SPAppManagementServiceApplicationProxy –ServiceApplication $appSubSvcWrite-Host "config success!"

运行成功后检查下列服务是否启动:

检查下列服务是否存在:

准备证书

创建并导出自签名的证书

导出公钥证书

注册APP并授权

注册app的脚本

$serviceConfig = Get-SPSecurityTokenServiceConfig$serviceConfig.AllowOAuthOverHttp = $true$serviceConfig.Update()$appDisplayName = "Lenovo_Documents"$clientID = "11c825ca-5b9c-4a02-857d-d0bc9690c327"$targetSiteUrl = "http://sp2013/"$targetSite = Get-SPSite $targetSiteUrl$realm = Get-SPAuthenticationRealm -ServiceContext $targetSite$fullAppPrincipalIdentifier = $clientID + "@" + $realmWrite-Host "Register new app principal"$registeredAppPrincipal = Register-SPAppPrincipal -NameIdentifier $fullAppPrincipalIdentifier -Site $targetSite.RootWeb -DisplayName $AppDisplayNameSet-SPAppPrincipalPermission -site $targetSite.RootWeb -AppPrincipal $registeredAppPrincipal -Scope SiteCollection -Right FullControl -EnableAppOnlyPolicy

注册发布者

#Register a trusted security-token issuer$targetSiteUrl = "http://sp2013/"$publicCertificatePath = "C:\Certs\Lenovo_Documents.cer"$issuerID = "7c444f28-03be-445f-8Dfc-0af2869b23cd"$targetSite = Get-SPSite $targetSiteUrl$realm = Get-SPAuthenticationRealm -ServiceContext $targetSite$realm$registeredIssuerName = $issuerID + "@" + $realm$publicCertificate = Get-PfxCertificate $publicCertificatePathWrite-Host "Create token issuer"$secureTokenIssuer = New-SPTrustedSecurityTokenIssuer -Name $issuerID -RegisteredIssuerName $registeredIssuerName -Certificate $publicCertificate -IsTrustBrokeriisreset

开发app,消费sharepoint数据

创建网站

添加引用

加入TokenHelper.cs

配置Web.Config

注意下列标记值,应与之前步骤配置的值一致。注意,在下面的对应的guid,应与注册时候使用的guid相同。

 

如预期,通过REST API 返回JSON数据

总结

如果在sharepoint的本地环境中调试通过,然后就是通过odata方式获取,或者筛选自己需要的数据了。

转载于:https://www.cnblogs.com/wolf-sun/p/4395647.html

你可能感兴趣的文章
eclipse中tomcat快速启动关闭参数设置
查看>>
C++ extern "c "的作用
查看>>
实践:几十亿条数据分布在几十个节点上的毫秒级实时排序方法
查看>>
PMWiki安装教程
查看>>
JAVA多线程之volatile 与 synchronized 的比较
查看>>
一个经典编程面试题的“隐退”
查看>>
POJ2109
查看>>
显示创建一个表的SQL语句
查看>>
光流和KLT
查看>>
Linux c括号作用域【原创笔记】
查看>>
分分钟带你玩转 Web Services【2】CXF
查看>>
ASP.NET MVC+LINQ开发一个图书销售站点(7):图书分类管理
查看>>
如何做一名技术管理者
查看>>
Resouce, platform_device 和 platform_driver 的关系【转】
查看>>
HTML标记大全参考手册(转载)
查看>>
查看表空间与对应的表空间文件
查看>>
linux C判断文件是否存在【转】
查看>>
《J2EE Tutorial中文版》读书笔记(1)
查看>>
Solaris关机重启命令小结
查看>>
如何为编程爱好者设计一款好玩的智能硬件(四)——初尝试·把温湿度给收集了(上)!...
查看>>