This is a guide to setup a Blackboard Learn instance and use it with REST APIs. This process includes 3 steps.
- Setting up Blackboard AMI EC2 instance on AWS.
- Setting up Blackboard developer account.
- Linking Blackboard Learn instance and developer account.
- Login to AWS console.
- Make sure you select appropriate region and role (if you have one setup).
- Search for and select
EC2
service from search. - Navigate to
Instances > Launch Instance
.- Step 1: Choose an Amazon Machine Image (AMI)
- Select
AWS Marketplace
from the left panel. - Search for "blackboard learn" and choose
Blackboard Learn for REST and LTI Developers
from the results. - Hit
Continue
.
- Select
- Step 2: Choose an Instance Type
- As of January 29, 2021, only
t2.large
andt2.xlarge
instance types are supported. Selectt2.large
. HitNext: Configure Instance Details
.
- As of January 29, 2021, only
- Step 3: Configure Instance Details
- Step 4: Add Storage
- Step 5: Add Tags
- Step 6: Configure Security Groups
- Step 7: Review Instance Launch
- Hit
Launch
. - Select an existing key pair or create a new key pair
- Note that if you select
Choose an existing key pair
, make sure you already have the private key or selectCreate a new key pair
and download the private key and save it in a secure location since this will be used to SSH into the instance.
- Note that if you select
- Hit `Launch Instances.
- Hit
- Step 1: Choose an Amazon Machine Image (AMI)
- Your Blackboard instance should be up and running in few minutes.
- Go to https://developer.blackboard.com/
- Signup and Create New Account.
- Go to https://developer.blackboard.com/
- Login with your account details from previous step.
- Under
Manage Your Applications
, chooseRegister
. - Register a New Application
- Application Name: blackboard-learn-test
- Description: Blackboard Learn Test
- Domain: <- Private IP from your EC2 instance ->
- Group: Select default one.
- Hit
Register application and generate API key
. - IMPORTANT: Make sure to save
Application Key
,Secret Key
, andApplication ID
in a secure location. We need this information for the next step.
- Go to
https://<-Private IP from your EC2 instance ->/
- Accept risk and continue
- Login with
- USERNAME:
Administrator
- PASSWORD:
<- Your EC2's Instance ID ->
- USERNAME:
- Navigate to
System Admin > Integrations > REST API Integrations > Create Integration
- Create Integrations
- Application ID:
<- Application ID from Registration above ->
- Learn User:
<- Choose a user. Preferably not Administrator. ->
- Leave everything else as is.
- Hit
Submit
- Application ID:
- Now, everything is set to start making API calls. See below how to.
In order to make calls to the Blackboard Learn REST API, we need to authenticate.
- Base 64 encode
<Application ID>:<Applciation Secret>
- The encoded string is your Basic Token.
- POST
https://<- Private IP from your EC2 instance ->/learn/api/public/v1/oauth2/token
- Headers
- Content-Type:
application/x-www-form-urlencoded
- Authorization:
Basic <- Basic Token from previous step ->
- Content-Type:
- Form body
grant_type=client_credentials
- Expected response:
json { "access_token": "2fcz5vM1123456789MQqKQ4YEBd6yFdy3", "token_type": "bearer", "expires_in": 3599 }
Now, we use this Bearer Token to make requests. See below how to.
- GET
https://<- Private IP from your EC2 instance ->/learn/api/public/v1/announcements
- Headers
- Content-Type: application/json
- Authorization: Bearer <- Bearer Token from above ->
- Expected response:
json { "results": [] }
See Blackboard REST API Docs for more information.
- You may face with invalid certificate issue. You can avoid this by setting up a load balancer for your EC2 instance and attaching a certificate to it.
- You can setup a custom domain using Route 53 on AWS so you don't have to use your EC2 instance's Private IP every time.
- Infrastructure as code - Make this setup a CloudFormation stack (EC2 + ALB + SG) so it is easier to manage the instance including launching on demand.