For Developers

Downloading Files

For most LMS providers, downloading files attached to assignments or submissions is straightforward. Edlink handles the proxying automatically and you can download any file using the URL returned by our API.

Google and Microsoft

Google and Microsoft are exceptions. Files created in these ecosystems live in Google Drive or Microsoft OneDrive/SharePoint, and both platforms require a higher level of security permissions than Edlink is comfortable requesting. Because Edlink realizes that file downloads on these platforms are essential for some clients, we created a workaround that allows you to create your own OAuth client with these providers, and request the necessary permissions there.

As of March 2026, Edlink supports file downloads through your external OAuth client for both providers.

Setting Up Google File Downloads

Steps

  1. Create your custom OAuth client in Google, and set up your branding.
  2. Configure your custom Google OAuth client in Edlink.
  3. Add the Drive scope to your Google OAuth client. Follow the Changing Google Scopes guide and add the following custom scope:
    https://www.googleapis.com/auth/drive.readonly
    
  4. Add the scope to your Edlink provider configuration as described in that same guide — custom scopes must be mirrored in the Edlink dashboard under your Google Provider's Additional scopes field.

Once saved, Edlink will request Drive access during the user's OAuth flow and use those credentials to download files on their behalf.

Testing

  1. Login through the normal Edlink SSO flow for your integration which is connected to the app with the enabled Google OAuth client.
  2. You should see a request from Google for the drive permissions you requested.
  3. After approving the permissions, you should now have a user access_token for Edlink.
  4. Use the access_token to call the Download Submission File endpoint for some file that your test user submitted to an assignment in Google Classroom.
  5. See your downloaded file!

Setting Up Microsoft File Downloads

Steps

  1. Create your Microsoft App Registration in the Microsoft Entra admin center.
  2. Configure your Microsoft OAuth client in Edlink.
  3. Follow the Adding / Changing the Microsoft App Registration's Scopes guide and add the following delegated permission:
    Files.Read.All
    
  4. Add the scope to your Edlink provider configuration — paste Files.Read.All into the additional scopes field on the Microsoft provider card in the Edlink dashboard.

Once saved, Edlink will request Files access during the user's OAuth flow and use those credentials to download files on their behalf.

Testing

  1. Login through the normal Edlink SSO flow for your integration which is connected to the app with the enabled Microsoft OAuth client.
  2. You should see a request from Microsoft for the file permissions you requested.
  3. After approving the permissions, you should now have a user access_token for Edlink.
  4. Use the access_token to call the Download Submission File endpoint for some file that your test user submitted to an assignment in Microsoft Teams.
  5. See your downloaded file!