使用 REST Web Services 的權限設定, 4XX Error

REST Web Service 在 NetSuite(NS) 中是一個很強大的整合工具。若你對 NS 如何開發不甚理解,仍然可以用這個服務來做到最初步的整合,至於如何在 NS 設定 OAuth 1.0 和 Access Token,詳以下連結文章,你只要照著做就行了。

NetSuite OAuth 1.0 的使用方式與除錯

本篇探討在上篇文章中建立 Role 與指定給使用者這個步驟。在上篇文章中,並沒有仔細的解釋 Role(角色) 的部分該如何設定權限,然而設定 Role 在我們處理整合時是很關鍵的一個步驟。接到不少問題是在執行 Postman 時,出現 HTTP Status Code 4XX ,經查明後源頭都是 Role 的權限不足導致。

以下說明 REST Web Service 需要的權限、你需要的資料權限可以根據哪裡找到。

Inzaghi, 英薩吉, NetSuite基本介紹, REST Web Service, OAuth 1.0, Permission, 權限

#1 若你要使用 REST Web Service 請參考下方三個基本 Permission,必須在 Role 設定:

  • REST Web Services (Permissions> Setup)
  • Log in using Access Tokens (Permissions> Setup)
  • SuiteAnalytics Workbook (Permissions> Reposts)

#2 新增 Role:Path: Setup> Users/Roles> Manage Roles> New Role,把 #1 權限加進來

#3 若你還沒在 NS 開啟 Web Service 的功能,請直接參考這一篇

#4 後續在依據整合的需求,新增該 Role 的 Permission。例如:你想要用 REST Web Service 新增 Purchase Order,需在 Permission> Transactions 新增 Purchase Order,Access Levels for Permissions 隨著自己的需求而定,若不熟悉 Level 的差異,請參考這篇

#5 設定完後,參考 NetSuite OAuth 1.0 的使用方式與除錯 ,開始用 Postman 測試

#6 因資安,不建議在沒有嚴謹思考的情況下就把所有權限打開

使用 Postman 有 Error,如何解決權限問題

#1 請先檢查 Postman Key-in 的資料是否正確

#2 通常有 "detail": "Error while accessing a resource.Record 'XXX' was not found. …等,可以往權限方向去查

#3 若找不到權限,可以去原廠下載 Permissions List,用關鍵字找權限,再回去 Role 設定慢慢嘗試

#4 也可以善用這篇文章 NetSuite: SuiteQL Tables & Permissions Reference,初步判斷權限

結語

此篇分享使用 REST Web Service 在 NetSuite 中的權限設定、範例、使用方式,並且提供了權限不足找權限方法。若你對使用 OAuth 1.0 整合還是不熟悉,請參考: NetSuite OAuth 1.0 的使用方式與除錯。

分享英薩吉的這篇內容
返回頂端