ปัญหาคือบางกรณีเราต้องการทำ Pre Invite Users ให้เรียบร้อยก่อนที่จะเริ่มใช้งานจริง ซึ่งสามารถทำได้ผ่าน REST API ของ Alfresco ครับโดย API ที่เราจะใช้งานคือ Membership API http://wiki.alfresco.com/wiki/Repository_RESTful_API_Reference#Membership
ขั้นแรกเราต้องมี REST Client ก่อนครับ ในส่วนนี้จะใช้ตัวไหนก็ได้นะครับ แต่ผมแนะนำให้เป็น Postman ครับ (ความชอบส่วนตัว) http://www.getpostman.com/
การ Add member สามารถทำได้ผ่าน POST Method ครับโดยรายระเอียดของ Membership POST Method มีดังนี้
Adds a new membership to the site.
POST /alfresco/service/api/sites/{shortname}/memberships
Requirements:
- Default Format: json
- Authentication: user
- Transaction: required
- Format Style: any
Definition:
- Id: org/alfresco/repository/site/membership/memberships.post
- Description: classpath:alfresco/templates/webscripts/org/alfresco/repository/site/membership/memberships.post.desc.xml
ซึ่งรายละเอียดได้ได้บอก JSON Format เรามา ดังนั้นผมจึงเข้าไปดู Code ว่า Format ที่จะใช้งานเป็นอย่างไร ซึ่งสรุปได้ดังนี้
- role : กำหนดเป็น SiteConsumer, SiteContributor, .....
- member ที่จะ Add เข้าไปใน Site (person หรือ group)
- person : กำหนดเป็นชื่อ userName ของบุคคลที่จะ Add เข้าไปใน Site
- group : กำหนดเป็น groupId โดยต้องมี GROUP Prefix ด้วย
จากตัวอย่างเป็นการ Add User tantai เข้าไปที่ site other โดยให้สิทธิ์เป็น SiteContributor สังเกตว่าผมใส่ Basic Authentication และ Content-Type ไว้เรียบร้อยแล้ว โดยเมื่อกด Send Request แล้วสำเร็จ จะได้ผลลัพธ์คือ
เท่านี้เราก็สามารถ Add Member เข้าไปใน Site ได้แล้วครับ แต่ว่าจะทำได้ทีละคน ดังนั้นเราอาจใช้ Python Script หรืออะไรก็ตามทำ loop เพื่อ Add Member ทีละเยอะๆ ได้ครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น