Adobe Learning Manager開發人員手冊
概觀
Adobe Learning Manager提供RESTful API,讓開發人員能夠有效地整合及自訂應用程式或工作流程。 開發人員手冊提供如何使用這些API的指引,涵蓋驗證、資料模型以及與其他應用程式整合等主題。 此外,本指南API參考檔案可協助開發人員建立與Adobe Learning Manager各種功能互動的外部應用程式或後端工作流程,包括課程建立、追蹤學習者進度、技能對應、認證、gamification和成績單。
本手冊涵蓋下列內容:
- OAuth2.0驗證
- API物件模型
- 顯示如何使用include、欄位和其他引數
- 提供真實使用案例的端點
API使用案例
開發人員可以使用Learning Manager API來增強或整合Learning Manager與其他企業應用程式。 您可以使用任何技術建立網頁、案頭或行動應用程式。 開發人員可以在Learning Manager中存取應用程式資料,但部署是外部的,完全由您控制。 應用程式通常由客戶組織為他們的帳戶開發,而Adobe合作夥伴可以建立一般應用程式以供更廣泛使用。
使用OAuth 2.0進行驗證
若要安全地存取Adobe Learning Manager API,您必須使用ALM的OAuth 2.0機制進行驗證。 此程式包括註冊您的應用程式、產生授權代碼、將其交換為重新整理權杖,最後使用重新整理權杖來取得存取權杖。
註冊應用程式
將Adobe Learning Manager與外部應用程式整合,以強化多功能性。 這些步驟涉及存取整合管理員介面、註冊應用程式,以及取得使用者端ID和密碼。 從ALM產生驗證權杖(OAuth、重新整理和存取權杖),強調使用OAuth 2.0架構進行驗證和授權。 存取權杖的有效期為七天。
-
以整合管理員的身分登入Adobe Learning Manager。
-
在左窗格中選取 Applications。
-
選取 Register 並新增下列資訊:
-
Application Name:輸入應用程式的名稱(最多50個字元)。
-
URL:您公司或應用程式的官方URL。 用於識別和參考。
-
Redirect Domains:指定ALM在授權後可重新導向的網域(例如http://learningmanager.adobe.com)。 您可以提及多個URL,但URL必須是有效的。
-
Description:應用程式功能的簡短說明。
-
Scopes:選取六個可用選項之一,以定義應用程式的範圍。 根據您在此處提及的選擇,您的應用程式可以存取Learning Manager API端點。 例如,如果您選擇學習者角色讀取存取權,則您的應用程式能以唯讀方式存取所有Learning Manager學習者API端點。
- 管理員角色讀取/寫入存取權:允許應用程式以管理員身分存取或修改資料。
- 學習者角色讀取/寫入存取權:允許應用程式存取或修改學習者的資料。
- xAPI讀取/寫入存取權:讓應用程式可存取及傳送Experience API (xAPI)陳述式。
-
For this account only?
- Yes — 如果您選擇[是],則其他帳戶管理員看不到該應用程式。
- No — 如果您選擇[否],其他帳戶管理員也可以存取此應用程式,但他們需要使用應用程式ID來存取此應用程式。 應用程式ID會以Learning Manager應用程式的編輯模式產生和顯示。
-
-
選取 Save 以註冊應用程式。
- 註冊應用程式後,可在帳戶中建立的應用程式清單中找到該應用程式。 選取應用程式,除了先前輸入的欄位外,您將會看到下列內容:
- 應用程式ID:這是使用者端識別碼。 此ID會通知ALM要求存取權的應用程式。 它包含在API要求中,用來識別應用程式。
- 應用程式密碼:這可用來在權杖交換步驟期間(例如,要求重新整理權杖或存取權杖時)驗證您的應用程式並驗證其身分。
取得存取權杖
從重新導向取得授權代碼
取得使用者端ID和使用者端密碼後,請使用它們來要求存取權杖,以用來驗證API呼叫。
若要開始授權代碼流程,請將使用者導向瀏覽器中的下列URL:
GET https://learningmanager.adobe.com/oauth/o/authorize?client_id=<Enter your clientId>&redirect_uri=<Enter a url to redirect to>&state=<Any String data>&scope=<one or more comma separated scopes>&response_type=CODE
當使用者授權應用程式後,Adobe Learning Manager將重新導向至指定的redirect_uri,並附加查詢引數:
https://yourapp.com/callback?code=abc123xyz
引數程式碼會與重新導向URI一起附加。
從程式碼取得重新整理Token
取得程式碼後,請使用任何API工具,並新增下列POST請求:
https://learningmanager.adobe.com/oauth/token
要求內文(x-www-form-urlencoded):
grant_type=authorization_code
&code=abc123xyz
&client_id=<your_client_id>
&client_secret=<your_client_secret>
&redirect_uri=<your_redirect_url>
回應
{
"access_token": "eyJhbGciOiJIUzI1...",
"refresh_token": "xTjlfz0jCk6gF1...",
"expires_in": 604800,
"token_type": "Bearer"
}
使用Authorization標頭中的access_token提出已驗證的API請求。
在API呼叫中使用存取權杖
使用下列專案驗證存取權杖:
GET https://learningmanager.adobe.com/oauth/token/check?access_token=<access_token>
存取權杖的有效期為七天。 七天後,您必須使用重新整理權杖產生新的存取權杖。 如果您在現有存取權杖仍然有效的情況下,從重新整理權杖產生新的存取權杖,則會傳回現有的權杖。
取得用於測試和開發的存取權杖
使用Adobe Learning Manager (ALM)代號產生工具快速建立存取代號,以用於測試和開發目的。 這些權杖僅供您在開發和偵錯階段個人使用。 請記住,測試權杖會授與您ALM資料的存取權,因此安全地處理這些資料至關重要。 切勿與他人共用您的測試Token、在生產應用程式中使用它們,或將其納入公開程式碼存放庫。 將其視為密碼,以確保您的帳戶和資料的安全。
-
以整合管理員身分登入Adobe Learning Manager。
-
選取 Developer Resources,然後選取 select Access Tokens for Testing and Development。
-
輸入您在建立應用程式以取得OAuth程式碼之後取得的 Client ID。 然後選取 Submit。
-
新增 Client ID 和 Client Secret 以取得重新整理權杖。 然後選取 Submit。 OAuth是上一步驟中的預先填入。
-
新增使用者端ID和使用者端密碼以取得存取權杖。 然後選取 Submit。
-
新增存取權杖並選取「提交」以取得存取權杖詳細資料。
選取 Submit 後,存取權杖即會驗證,且會顯示下列回應:
{
"access_token": "access token",
"refresh_token": "refresh token",
"user_role": "admin",
"account_id": "1234",
"user_id": "123456",
"expires_in": 604800
}
和之前一樣,測試的存取Token會在七天後過期。
使用API工具來測試端點
雖然您可以使用任何協力廠商API測試工具,但我們將使用Postman來測試端點。 本檔案中的範例使用Postman進行端點測試。
-
開啟Postman並建立新請求。
-
選取「授權」標籤。
-
將「驗證型別」設定為「持有人權杖」。
-
將您從上一節取得的存取權杖貼到「權杖」欄位中。
-
在Headers索引標籤中新增以下內容。
- 索引碼:Accept
- 值: application/json
-
在URL欄位中輸入您的API端點。 範例: https://learningmanager.adobe.com/learningManager/api/v2/users
檢視Adobe Learning Manager API參考以取得詳細資訊。 -
選取「傳送」以提出API請求。
API型別
管理API
Adobe Learning Manager的管理員API可讓管理員大規模自動化及管理學習作業。
使用管理API,開發人員可以:
- 管理使用者和群組:建立、更新和刪除使用者,或將它們指派給群組。
- 註冊學習者:自動註冊課程、學習路徑或認證。
- 追蹤學習者進度:擷取課程/模組進度、測驗分數和完成狀態。
- 產生報表:存取學習者活動、參與和績效的資料。
- 管理內容:建立及組織課程和學習物件。
檢視Adobe Learning Manager API參考以取得詳細資訊。
學習者API
學習者API是專為已驗證身分的使用者(學習者)所設計,可讓您存取學習者特定資訊。 這些API允許完成如下的工作:
- 存取學習者的課程和進度
- 擷取已獲得的徽章或認證
- 更新學習者設定檔資訊
- 檢視與已完成課程相關的技能
關鍵點:
- 這些API需要經過驗證的使用者權杖,以確保資料安全性和隱私權。
- API適用於使用者已完整註冊及登入的情況,而非匿名或共用使用者。
檢視Adobe Learning Manager API參考以取得詳細資訊。
API設計和常用引數
這些API可讓開發人員存取重要的Learning Manager資源,例如使用者、課程、技能、認證和學習計畫。 它遵循REST原則,使用HTTP方法(GET、POST、PUT、DELETE)進行資料作業。
通用引數
以下簡要說明各項:
包含
ALM API可在建置自訂應用程式或Headless LMS時用來擷取有用的資訊。 此API端點可以進一步與其他「包含」引數一併包含,以擷取與預設所接收資料相關的其他資訊。 這些關係是資料模型關係,例如,在呼叫以取得使用者詳細資料時,您將會收到使用者資訊,以及經理ID與ALM帳戶ID的關係。 使用include引數,您可以詳細擷取其他詳細資訊以及使用者詳細資訊,例如其管理員詳細資訊和ALM帳戶詳細資訊。
簡而言之,include 引數用於API呼叫,以擷取單一回應中的相關(連結)資源以及主要資源。 如果您想要存取巢狀或相依資料(例如課程的模組或對應至學習者的技能),而不需進行個別的API呼叫,這個函式就十分實用。
主要優點:
- 減少多個API呼叫:避免手動要求每個相關資源。
- 提高效率:加快開發速度、減少伺服器負載,並加快資料轉譯速度。
- 確保資料一致性:擷取一致快照中的所有相關資料。
如何使用包含引數
將include引數附加至API URL,並指定要包含的相關實體。
通用包含路徑
範例1
在端點中使用userID引數擷取使用者的詳細資訊
https://learningmanager.adobe.com/primeapi/v2/users/<userID>
GET https://learningmanager.adobe.com/primeapi/v2/users/<userID>
在回應中,您可以看到資料物件與帳戶和使用者的管理員有關係。
"relationships": {
"account": {
"data": {
"id": "1010",
"type": "account"
}
},
"manager": {
"data": {
"id": "3400476",
"type": "user"
}
}
}
使用請求中的包含引數,您可以擷取有關管理員的詳細資訊,如下所示:
GET https://learningmanager.adobe.com/primeapi/v2/users/<userid>?include=manager
範例2
若要擷取課程詳細資訊,請使用端點呼叫中的include引數。 下列端點會取得課程資訊及其關係。
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<courseID>
這些關係會顯示在回應中,如下所示:
- 執行個體
- 技能
- 作者
"relationships": {
"authors": {
"data": [
{
"id": "3400468",
"type": "user"
}
]
},
"instances": {
"data": [
{
"id": "course:16444_31598",
"type": "learningObjectInstance"
}
]
},
"skills": {
"data": [
{
"id": "course:16444_1796",
"type": "learningObjectSkill"
},
{
"id": "course:16444_3103",
"type": "learningObjectSkill"
}
]
}
}
其他關係可能包括(不存在於上述回應中):
- prerequisitedlos
- supplementalLOs
- supplementaryResources
若要取得例項和技能的詳細資料,請在include引數中加入「例項,技能」。
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<courseID>?include=instances,skills
例如,現在,如果您想要擷取更多與課程例項相關的資料,例如loResources (課程的模組資訊),請套用loResources作為巢狀包含。
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<courseID>?include=instances.loResources
此外,將技能和執行個體與巢狀包含結合。
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<courseID>?include=instances,instances.loResources,skills
其他包含篩選器
欄位
API物件的屬性和關係稱為「欄位」。 使用欄位作為API呼叫中的引數,以從模型中擷取特定屬性。 如果沒有Fields引數,API呼叫會擷取所有可用的屬性。
例如,在下列API呼叫中,欄位[skill]=name會單獨擷取技能模型的name屬性。
GET https://learningmanager.adobe.com/primeapi/v2/users/3400490/userSkills/3400490_1796_1?include=skillLevel.skill&fields[skill]=name
分頁
API分頁是一種在API中使用的技術,可將大型資料集分成較小、可管理的區塊(稱為頁面),而不是在單一回應中傳回整個資料。
分頁可減少使用者端與伺服器的負載、限制回應大小以避免伺服器瓶頸,或適用於在表格中顯示資料或一次列出一個頁面。
ALM API分頁如何運作
ALM API透過下列引數支援分頁:
- page[limit]:每頁的記錄數。
- page[offset]:要略過的記錄數。
- page[cursor]:下一組結果的指標。 游標式分頁不使用位移式分頁(略過一些記錄),而是使用從API傳回的唯一標籤來擷取結果的下一頁。
以下說明如何在API中使用分頁:
頁面[限制]
雖然https://learningmanager.adobe.com/primeapi/v2/users在單一呼叫中傳回所有使用者和相關資訊,但使用page[limit]會將結果數限製為指定的值。
若要在單一呼叫中僅傳回5筆使用者記錄,請使用下列API:
GET https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=5
頁面[位移]
使用此API呼叫傳回三個使用者記錄、略過前五個使用者,然後從第六個使用者開始。
GET https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=3&page[offset]=5
page[cursor]
-
首先,請求第一頁,限製為5。
GET https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=5
-
從連結複製游標值。下一個,並在下一個要求中使用:
"links": { "self": "https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=5", "next": "https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=5&page[cursor]=3400482" }
-
傳送下列請求:
GET https://learningmanager.adobe.com/primeapi/v2/users?page[limit]=5&page[cursor]=3400482
這會傳回下一組10筆記錄,從上一頁的最後一個專案之後開始。
篩選
篩選引數可讓您根據一或多個欄位值縮小API結果的範圍。
Adobe Learning Manager API提供篩選引數的不同變數,以縮小回應。
檢視Adobe Learning Manager API參考以取得詳細資訊。
此範例說明如何透過篩選引數使用端點,篩選學習者已註冊的工作協助:
GET https://learningmanager.adobe.com/primeapi/v2/users/3400480/enrollments?filter.loTypes=jobAid
sort
sort引數用來根據一或多個欄位,以遞增或遞減順序排序API結果。
Adobe Learning Manager提供各種排序選項,用於排序API回應。 檢視Adobe Learning Manager API參考以取得詳細資訊。
延伸上一個範例,您現在會依遞增順序註冊日期,將使用者的學習計畫註冊排序。
GET https://learningmanager.adobe.com/primeapi/v2/users/3400480/enrollments?filter.lotypes=learningProgram&sort=dateEnrolled
API模型概觀
Adobe Learning Manager API可讓開發人員以RESTful資源的形式存取Learning Manager物件。 每個API端點代表資源,通常是Badge之類的物件例項或這類物件的集合。 開發人員接著會使用HTTP動詞(例如PUT、GET、POST和DELETE)對這些物件(集合)執行CRUD操作。
subLOs.subLOs.prerequisiteLOs.enrollment
subLOs.enrollment.loResourceGrades
subLOs.subLOs.enrollment.loResourceGrades
subLOs.subLOs.instances.loResources.resources.room
subLOs.instances.loResources.resources.room
subLOs.supplementaryResources
subLOs.enrollment
SubLOs.enrollment.loInstance.loResources.resources
subLOs.supplementaryLOs.instances.loResources.resources
enrollment.loInstance.loResources.resources
prerequisiteLOs
作者
instances.loResources.resources
supplementalLOs.instances.loResources.resources
supplementalResources
instances.badge
skill.skillLevel.skill{1Level.skill{1Resources.instances.instances.roles.roles.roles.rocle{111111111110}例項.lo
學習者API和端點
以下是使用學習者資料的關鍵API端點。 這些API可指導開發人員與學習者資訊互動、追蹤進度、管理註冊及擷取課程內容。
擷取所有學習者的詳細資訊
擷取學習者詳細資訊(名稱、電子郵件、UUID、使用者設定檔等)。 使用API列出帳戶中的所有學習者。
GET https://learningmanager.adobe.com/primeapi/v2/users
擷取特定學習者的詳細資訊
如果您想要依ID檢視學習者的設定檔,請使用下列API進行呼叫。
GET https://learningmanager.adobe.com/primeapi/v2/users/<userID>
列出所有課程、學習計畫、工作輔助和認證
擷取學習者已註冊、已完成或已由管理員啟用的所有學習物件的詳細資訊。
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects
取得特定學習物件的詳細資料
取得學習物件的詳細資訊。 其中包括建立日期、發佈日期、更新日期和其他資訊。
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<LearningObjectID>
擷取連結至課程的技能清單
顯示指派給帳戶中所有學習者的技能。
GET https://learningmanager.adobe.com/primeapi/v2/skills
取得技能等級和徽章資訊
檢查學習者在技能型學習歷程中的進度。
GET https://learningmanager.adobe.com/primeapi/v2/skills/<skillID>?include=levels
為帳戶建立的所有徽章清單
呼叫以下端點,以擷取為組織內的帳戶建立的所有徽章清單。
GET https://learningmanager.adobe.com/primeapi/v2/badges
擷取徽章的資訊
取得有關徽章的詳細資訊,包括徽章名稱、徽章影像URL和徽章的狀態。
GET https://learningmanager.adobe.com/primeapi/v2/badges/<skillID>
這會產生以下回應:
{
"links": {
"self": "https://learningmanager.adobe.com/primeapi/v2/badges/499"
},
"data": {
"id": "499",
"type": "badge",
"attributes": {
"imageUrl": "https://cpcontentsdev.adobe.com/public/account/1010/accountassets/1010/badges/test_57a5ab00555a475a8fc6671562184dc9.png",
"name": "penguins",
"state": "Retired"
}
}
}
其他API使用範例
建立使用者
-
使用端點:
POST https://learningmanager.adobe.com/primeapi/v2/users
處理來自API主體或JSON裝載的屬性以產生使用者,然後為使用者提供填入的個別使用者ID。
-
使用以下裝載作為內文:
{ "data": { "type": "user", "attributes": { "email": "bob@example.com", "name": "Bob", "userType": "INTERNAL" } } }
有三個必要的屬性:
- 電子郵件:使用者的電子郵件識別碼。 每個使用者的此值應該都是唯一的。
- name:使用者的名稱。
- userType:目前,僅能使用此端點新增內部使用者。 userType應為「INTERNAL」。
系統會顯示下列回應:
{
"links": {
"self": "https://learningmanager.adobe.com/primeapi/v2/users"
},
"data": {
"id": "13386404",
"type": "user",
"attributes": {
"avatarUrl": "https://cpcontents.adobe.com/public/images/default_user_avatar.svg",
"email": "bob@example.com",
"name": "Bob",
"pointsEarned": 0,
"pointsRedeemed": 0,
"preferredResolution": "AUTO",
"profile": "Employee",
"roles": [
"Learner"
],
"state": "ACTIVE",
"userType": "Internal",
"userUniqueId": "bob@example.com"
},
"relationships": {
"account": {
"data": {
"id": "1010",
"type": "account"
}
},
"manager": {
"data": {
"id": "3400468",
"type": "user"
}
}
}
}
}
刪除使用者
-
取得您要刪除之使用者的使用者ID。
GET https://learningmanager.adobe.com/primeapi/v2/users/<userID>
-
然後使用DELETE,進行下列呼叫:
DELETE https://learningmanager.adobe.com/primeapi/v2/users/<userID>
204回應隨即出現。 204回應代碼表示成功,沒有任何可傳回的內容。 伺服器已成功處理請求,但沒有資料可提供給使用者端。
擷取使用者的詳細資料後,使用者的狀態現在是 DELETED。
更新使用者詳細資訊
- 使用v2 API更新使用者的使用者詳細資訊。 學習者可以修改個人資料、uiLocale、contentLocale、時區。 對於大型帳戶,這些是非同步呼叫。 有許多其他使用者屬性可以使用此API端點進行更新。 使用/users/{id}端點,其中id是要更新其詳細資訊之使用者的使用者ID。
PATCH https://learningmanager.adobe.com/primeapi/v2/users/<userID>
在要求之裝載中新增下列內容,以更新上一節中識別碼為<userID>
的使用者。
變更承載中的任何欄位。
{
"data": {
"id": "3400468",
"type": "user",
"attributes": {
"avatarUrl": "https://cpcontents.adobe.com/public/images/default_user_avatar.svg",
"binUserId": "3e6d571f-3956-44db-be69-8e458bde649f",
"bio": "Manager",
"contentLocale": "de-DE",
"email": "user@example.com",
"enrollOnClick": true,
"fields": {
"Web": "Web",
"newfororder": "newvalue",
"location": "New",
"test1": "b"
},
"gamificationEnabled": true,
"lastLoginDate": "2025-04-30T09:30:51.000Z",
"metadata": {
"level": "5",
"expertise": "java",
"sport": "tennis"
},
"name": "John Adams",
"pointsEarned": 8600,
"pointsRedeemed": 0,
"preferredResolution": "AUTO",
"profile": "Employee",
"roles": [
"Learner",
"Admin",
"Author",
"Instructor",
"Integration Admin",
"Manager"
],
"state": "ACTIVE",
"timeZoneCode": "213",
"uiLocale": "en-US",
"userType": "Internal",
"userUniqueId": "user@example.com"
},
"relationships": {
"account": {
"data": {
"id": "1010",
"type": "account"
}
}
}
}
}
進行呼叫後,會更新使用者的詳細資料。
建立外部設定檔
外部設定檔是指為外部學習者建立的使用者設定檔,通常是不屬於組織內部使用者群的個人。 這些學習者可能包括客戶、合作夥伴、廠商、加盟商或臨時承包商,他們需要存取組織提供的培訓或認證計畫。
-
使用下列端點:
POST https://learningmanager.adobe.com/primeapi/v2/externalProfiles
-
使用以下裝載作為內文:
{
"data": {
"type": "externalProfile",
"attributes": {
"name": "Jonas Albertson",
"expiry": "2027-12-31T18:29:59.000Z",
"managerEmail": "jonas@acme.com",
"seatLimit": 10
}
}
}
裝載有下列屬性:
- name:外部使用者的名稱。
- 有效期:使用者在Adobe Learning Manager中註冊的到期日(ISO-8601格式)。
- managerEmail:合作夥伴組織中使用者經理的電子郵件地址。
- seatLimit:合作夥伴組織允許的席位數。
進行呼叫後,您會收到下列回應:
{
"links": {
"self": "https://learningmanager.adobe.com/primeapi/v2/externalProfiles"
},
"data": {
"id": "18805",
"type": "externalProfile",
"attributes": {
"accessKey": "8gte2ne7f4r14",
"enabled": true,
"expiry": "2027-12-31T18:29:59.000Z",
"managerEmail": "jonas@acme.com",
"name": "Jonas Albertson",
"seatLimit": 10,
"url": "https://learningmanager.adobe.com/eplogin?groupid=18805&accesskey=8gte2ne7f4r14"
}
}
}
這表示外部使用者已成功新增至Adobe Learning Manager。 傳送回應使用者的URL,讓使用者可透過該URL在平台上註冊。
使用使用者ID和管理員詳細資料擷取使用者報告
可以直接從使用者介面(Admin > Users > Internal)下載使用者報告。 但是,報告不會傳回使用者ID和相關經理的詳細資訊。
使用管理員的工作API,您可以擷取詳細資訊。
-
將下列裝載新增至作業API。
{ "data": { "type": "job", "attributes": { "description": "description of your choice", "jobType": "generateUsers", "payload":{ "expandMetadata":true } } } }
-
使用以下端點。
POST https://learningmanager.adobe.com/primeapi/v2/jobs
-
從回應中復製作業ID。
{ "links": { "self": "https://learningmanager.adobe.com/primeapi/v2/jobs" }, "data": { "id": "43118", "type": "job", "attributes": { "dateCreated": "2025-05-26T06:35:35.000Z", "description": "description of your choice", "jobType": "generateUsers", "payload": { "expandMetadata": true }, "status": { "code": "Submitted" } } } }
回應中會顯43118作業ID。
-
複製ID後,請使用工作API中的ID來下載報表。
GET https://learningmanager.adobe.com/primeapi/v2/jobs/43118
-
從回應中複製S3 URL。
-
在瀏覽器中貼上URL。 瀏覽器會提示您儲存或開啟CSV檔案。 將檔案儲存在電腦上。
下載的檔案包含下列各欄:
internalUserID、userEmail、customerDefinedUniqueUserId、名稱、managerEmail、userType、狀態、excludedFromGamification、pointsEarned、設定檔、角色、dateCreated、lastLoginDate、dateDeleted、uiLocale、contentLocale、timeZoneCode、userSource、群組、作用欄位、中繼資料,以及lastSocialActivityDate。
使用工作API產生徽章
-
取得組織中使用者的徽章清單。 使用下列端點:
GET https://learningmanager.adobe.com/primeapi/v2/users/3400476/userBadges
其中3400476是使用者ID。
-
從回應中複製徽章ID。 例如,3400476_759_COMPETENCY_1796_1是徽章識別碼。
{ "id": "3400476_759_COMPETENCY_1796_1", "type": "userBadge", "attributes": { "assertionUrl": "https://cpcontentsdev.adobe.com/public/accountassets/1010/badges/assertions/a99566b5aa8f4cfa92380581733c63a9_1626278856926.json", "dateAchieved": "2016-02-25T08:45:25.000Z", "modelType": "skillLevel" }, "relationships": { "badge": { "data": { "id": "759", "type": "badge" } }, "learner": { "data": { "id": "3400476", "type": "user" } }, "model": { "data": { "id": "1796_1", "type": "skillLevel" } } } }
-
建立有效負載並在有效負載中指定徽章ID。 裝載範例如下:
{ "data": { "type": "job", "attributes": { "description": "Acme Corp Badge", "jobType": "generateUserBadge", "payload": { "userBadgeId": "3400476_759_COMPETENCY_1796_1" } } } }
進行呼叫後,您會在回應中取得工作ID。
-
從回應中取得作業ID,並使用下列端點中的作業ID進行呼叫。
GET https://learningmanager.adobe.com/primeapi/v2/jobs/<jobsID>
-
從回應中複製徽章URL,並在瀏覽器中開啟URL。 憑證將下載為PDF。
在Adobe Learning Manager中建立使用者
POST /users端點可協助您使用Headless模式建立使用者。 建立包含詳細資訊的使用者,例如Adobe Learning Manager原生使用者介面中的註冊程式。
例如,
POST https://learningmanager.adobe.com/primeapi/v2/users
將下列內文新增至請求中:
{
"data":
{
"type": "user",
"attributes": {
"bio": "",
"contentLocale": "fr-FR",
"email": "user@work.com",
"enrollOnClick": true,
"fields": {
"Learning Categories": [
"Business"
],
"Categories": "IT"
},
"gamificationEnabled": true,
"name": "Test User",
"profile": "Engineer",
"userType": "INTERNAL",
"userUniqueId": "user@work.com"
},
"relationships": {
"account": {
"data": {
"id": "108079",
"type": "account"
}
}
}
}
}
進行呼叫後,會顯示下列回應:
{
"links": {
"self": "https://learningmanager.adobe.com/primeapi/v2/users"
},
"data": {
"id": "13385627",
"type": "user",
"attributes": {
"avatarUrl": "https://cpcontents.adobe.com/public/images/default_user_avatar.svg",
"email": "user@work.com",
"name": "Test User",
"pointsEarned": 0,
"pointsRedeemed": 0,
"preferredResolution": "AUTO",
"profile": "Engineer",
"roles": [
"Learner"
],
"state": "ACTIVE",
"userType": "Internal",
"userUniqueId": "user@work.com"
},
"relationships": {
"account": {
"data": {
"id": "1010",
"type": "account"
}
},
"manager": {
"data": {
"id": "3400468",
"type": "user"
}
}
}
}
}
新使用者將新增至Adobe Learning Manager。
發佈L1意見回饋
-
擷取學習者的課程、例項和註冊資料。 使用下列端點:
GET /enrollments
-
檢查是否針對課程例項啟用L1意見回饋。
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<loID>/instances/<loInstanceID>/l1Feedback
-
提交L1意見回饋。
POST /enrollments/{id}/l1Feedback
必要裝載範例:
{
"data": {
"id": "course:7454218_10333537_11257863",
"type": "feedback",
"attributes": {
"questions": [
{
"answer": "8",
"questionId": "1",
"mandatory": true,
"questionType": "scaleTen"
}
],
"score": 80
}
}
}
擷取課程的模組層級資訊
-
依ID擷取學習物件的詳細資料。
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/<loID>
{ "links": { "self": "https://learningmanager.adobe.com/primeapi/v2/learningObjects/course:1171899" }, "data": { "id": "course:1171899", "type": "learningObject", "attributes": { "authorNames": [ "James Adams" ], "dateCreated": "2017-11-01T15:28:09.000Z", "datePublished": "2017-11-01T15:28:20.000Z", "dateUpdated": "2017-11-01T15:28:20.000Z", "duration": 60, "effectiveModifiedDate": "2017-11-01T15:28:20.000Z", "effectivenessIndex": 0, "enrollmentType": "Self Enroll", "hasOptionalLoResources": false, "hasPreview": false, "isExternal": false, "isMqaEnabled": false, "isPrerequisiteEnforced": false, "isSubLoOrderEnforced": false, "loFormat": "Self Paced", "loResourceCompletionCount": 3, "loType": "course", "moduleResetEnabled": false, "state": "Published", "unenrollmentAllowed": true, "catalogLabels": [ { "catalogLabelValueIds": [ { "name": "Sales", "id": "catalogLabel:13_31" } ], "description": "", "mandatory": false, "name": "Department", "values": [ "Sales" ] } ], "localizedMetadata": [ { "locale": "en-US", "name": " Test course 2" } ], "rating": { "averageRating": 0, "ratingsCount": 0 } }, "relationships": { "authors": { "data": [ { "id": "3400468", "type": "user" } ] }, "instances": { "data": [ { "id": "course:1171899_2067352", "type": "learningObjectInstance" } ] }, "skills": { "data": [ { "id": "course:1171899_1797", "type": "learningObjectSkill" } ] } } } }
-
使用include引數來擷取下列專案:
a.列出學習物件的所有模組。
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/course:1171899?include=instances.loResources
b.列出模組中的所有內容。
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects/course:1171899?include=instances.loResources.resources
檢查模組進度
-
使用課程ID從目錄中擷取學習物件。
GET https://learningmanager.adobe.com/primeapi/v2/learningObjects?page[limit]=10&filter.loTypes=course&sort=name&filter.ignoreEnhancedLP=true&id=<courseID>
-
使用註冊ID取得學習者的註冊詳細資料。
GET https://learningmanager.adobe.com/primeapi/v2/enrollments/<enrollmentID>
從回應中複製學習物件資源等級ID。
-
在下列端點中使用ID。
GET https://learningmanager.adobe.com/primeapi/v2/loResourceGrades/<courseResourceGradeID>
您會在回應中取得模組進度的相關資訊。
實施學習者模擬
使用Adobe Learning Manager作為後端實作Headless LMS時,組織可能需要支援人員來模擬學習者,以進行疑難排解或尋求協助。 API導向的模擬方法可確保安全存取,同時維護學習者憑證的機密性,並支援工作階段狀態的無縫轉換。
Adobe Learning Manager (ALM)透過專用的API,促進學習者在Headless LMS環境中的模擬。 此功能可讓支援人員暫時接手學習者的身分,讓他們診斷問題、測試功能,或透過模擬學習者的體驗提供實作協助。 使用快取的管理存取權杖來啟用模擬,該權杖會用於以程式設計方式產生學習者存取權杖。 此程式可讓系統以學習者身分登入般運作。
API端點詳細資料
POST /oauth/learnerToken
完整URL範例
https://learningmanager.adobe.com/oauth/o/learnerToken?learner_email=foo@acme.com&force=false
查詢引數:
- 學習者電子郵件: (字串)要模擬的學習者電子郵件。
- force: (布林值)如果新權杖存在,是否強制產生新權杖。
要求內文:
{
"client_id": "your-client-id",
"client_secret": "your-client-secret",
"refresh_token": "your-admin-refresh-token"
}
範例回應:
{
"access_token": "generated-token",
"refresh_token": "new-refresh-token",
"user_role": "learner",
"account_id": "123456",
"user_id": "7891011",
"expires_in": 604800
}
範例cURL:
curl --location --request POST 'https://learningmanager.adobe.com/oauth/o/learnerToken?learner_email=foo@acme.com&force=false' \
--header 'Content-Type: application/json' \
--data-raw '{
"client_id": "xxxx",
"client_secret": "xxxx",
"refresh_token": "xxxx"
}'
產生學習者成績單
錯誤碼
Adobe Learning Manager API需要此內容型別為必填。