آموزش rest api شیرپوینت

REST API چیست؟
 

REST مخفف Representational State Transfer است.
در شیرپوینت، REST API این امکان را می‌دهد که:

  • با یک URL و متدهای HTTP (GET, POST, PUT, DELETE, PATCH)

  • به لیست‌ها، کتابخانه‌ها، فایل‌ها، فولدرها، گروه‌ها، کاربرها و…
    دسترسی داشته باشی و عملیات CRUD انجام بدهی.


ساختار اصلی URL در REST API شیرپوینت
 

ساختار پایه:

 
https://{site-url}/_api/{endpoint}

مثال دریافت آیتم‌ها از یک لیست:

 
https://contoso.sharepoint.com/sites/finance/_api/web/lists/getbytitle('Invoices')/items

متد: GET
نتیجه: لیستی از آیتم‌ها در قالب JSON


Authentication (احراز هویت)

سه روش مرسوم:

1) Azure AD OAuth (پیشنهادی)
  • امنیت بالا

  • مناسب سیستم‌های سازمانی

  • اتصال Power Apps, Power Automate, Custom Apps

 
2) Cookie-based Authentication (برای فرم‌های داخلی on-premise)
3) App Registration / App-Only Token
 
  • مناسب سرویس‌های بدون کاربر (Background Jobs)


عملیات رایج با REST API
 

1) خواندن لیست‌ها و آیتم‌ها
دریافت همه آیتم‌ها:
 
GET /_api/web/lists/getbytitle('Tasks')/items
دریافت آیتم با فیلتر:
 
GET /_api/web/lists/getbytitle('Tasks')/items?$filter=Status eq 'Completed'
انتخاب ستون‌های خاص:
 
GET /_api/web/lists/getbytitle('Tasks')/items?$select=Id,Title,Priority

2) اضافه کردن آیتم
 
POST /_api/web/lists/getbytitle('Tasks')/items
Body:
{
"__metadata": { "type": "SP.Data.TasksListItem" },
"Title": "New task from API",
"Priority": "High"
}

Header ضروری:

 
Accept: application/json;odata=verbose
Content-Type: application/json;odata=verbose
X-RequestDigest: <form digest>

3) ویرایش آیتم
 
POST /_api/web/lists/getbytitle('Tasks')/items(12)
Headers:
IF-MATCH: *
X-HTTP-Method: MERGE

بدن درخواست:

 
{ "Title": "Updated Task Title" }

4) حذف آیتم
 
POST /_api/web/lists/getbytitle('Tasks')/items(12)
Headers:
IF-MATCH: *
X-HTTP-Method: DELETE

کار با فایل‌ها و کتابخانه اسناد

آپلود فایل (ساده)
 
POST /_api/web/getfolderbyserverrelativeurl('/Shared Documents')/files/add(url='test.pdf', overwrite=true)
خواندن فایل
 
GET /_api/web/getfilebyserverrelativeurl('/Shared Documents/test.pdf')/$value
ساخت فولدر
 
POST /_api/web/folders
Body:
{
"__metadata": { "type": "SP.Folder" },
"ServerRelativeUrl": "/Shared Documents/NewFolder"
}

مجوزها و Permission‌ ها

در REST API می‌توانی:

  • Break Permission

  • تنظیم دسترسی یوزر

  • اضافه کردن به گروه

  • حذف دسترسی

نمونه اضافه کردن User به گروه:

 
POST /_api/web/sitegroups(5)/users
{
"LoginName": "i:0#.f|membership|user@domain.com"
}

کمباین کردن REST API با JavaScript

در SPFx یا فرم‌های HTML معمولاً از fetch استفاده می‌شود:

 
fetch(`${siteUrl}/_api/web/lists/getbytitle('Orders')/items`, {
method: 'GET',
headers: { 'Accept': 'application/json;odata=nometadata' }
})
.then(res => res.json())
.then(data => console.log(data));

کاربردهای مهم REST API در پروژه‌های سازمانی

✔ اتصال سیستم‌های بیرونی با شیرپوینت
✔ ساخت فرم‌های پیشرفته فرایندی
✔ ساخت گردش‌کارهای اختصاصی
✔ فرم‌سازهای سفارشی بدون Power Apps
✔ داشبوردها و گزارش‌های مدیریتی
✔ خودکارسازی کامل فرایند‌ها
✔ ساخت Portals با سرعت بالا


مزایای REST API نسبت به CSOM / SOAP
ویژگیREST APICSOMSOAP
سرعتبسیار سریعمتوسطکند
سادگیراحتمتوسطسخت
خروجی JSONداردداردندارد
Cross-Platformعالیمتوسطضعیف
مناسب فرم‌سازهاعالیمتوسطبد

REST API بهترین گزینه برای فرم‌ها و سیستم‌های فرایندی مدرن است.


در SharePull ما با استفاده از REST API شیرپوینت یک سیستم کاملاً یکپارچه برای طراحی فرم‌ها، فرایندها و گردش‌کارهای سازمانی توسعه داده‌ایم.

این پلتفرم به‌گونه‌ای طراحی شده که:

  • با بیشترین سرعت لود

  • کمترین مصرف منابع

  • امنیت بالا

  • بدون نیاز به Power Apps یا ابزارهای جانبی

  • و قابلیت اتصال به هر سامانه‌ای

در کوتاه‌ترین زمان در سازمان شما پیاده‌سازی می‌شود.

سیستم فرم‌ساز و فرایندساز SharePull با تکیه بر REST API، یک راهکار مدرن و فوق‌العاده سریع برای شرکت‌هایی است که می‌خواهند اتوماسیون سازمانی خود را بر پایه استانداردهای Microsoft و بدون محدودیت توسعه دهند.

اشتراک گذاری :

    نوشتن دیدگاه

    نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

      نوشتن دیدگاه

      نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *