介紹建立 API 的方法 – 3 後台管理者權限
以下繼續介紹如何建立 API
權限為 需有 後台管理者權限 才能存取
取得 token
(每次取得的 token 皆不同)
url : http://{domain_name}/index.php/rest/V1/integration/admin/token
- get token by postman
crul 取 token 請參考 “介紹建立 API 的方法 – 2 前台會員權限" ,不再贅述
帶入 token 取得會員資料
url : http://{domain_name}/index.php/rest/V1/customers/{customer ID}
- get data by postman
crul 取 token 請參考"介紹建立 API 的方法 – 2 前台會員權限" ,不再贅述
自訂的 API 權限
建立 \Astralweb\Tech\etc\acl.xml
修改為
<?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Acl/etc/acl.xsd"> <acl> <resources> <resource id="Magento_Backend::admin"> <resource id="Astralweb_Tech::hello" title="Hello" translate="title" sortOrder="110" /> </resource> </resources> </acl> </config>
其中 Astralweb_Tech::hello 即為自訂的權限
Hello 為該權限的名稱
將 \Astralweb\Tech\etc\webapi.xml
修改為
<?xml version="1.0"?> <routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Webapi:etc/webapi.xsd"> <route url="/V1/hello/name/:name" method="GET"> <service class="Astralweb\Tech\Api\HelloInterface" method="name"/> <resources> <resource ref="Astralweb_Tech::hello"/> </resources> </route> </routes>
則該 API 需有相對應的權限才可進入
※改完 xml 需清暫存※
後台
SYSTEM -> Permissions > User Roles
可新增 Role 或修改 原有 Role
並指定 Role Resources
後台
SYSTEM -> Permissions > All Users
修改 User Role 指定對應的 Role
則該帳號取得的 token 即可有對應的權限
後續還是會介紹更多不同權限的API建立方法,或想了解其他關於Magento的訊息,可繼續閱讀追蹤我們的文章喔!
也可以關注我們 Facebook的粉絲專頁,我們會不定期新增文章跟大家分享!
我要留言