"Cannot Access Content" only first attempt of when AMP app data and cache is cleared

Hello I'm an LMS/LRS developer, developing a solution in Drupal.

Developed a Drupal based Tin Can API compliant LRS for Drupal 7, from scratch.

Implemented a private content access as described in the "Launching Private Content" section on this page: https://www.articulate.com/tincanapi/

Originally our customer was using Articulate Studio '13, and the packages it published functioned correctly.  Depending on user role and other conditions I was able to limit access to content.  No problems with the AMP app.

Then they started to create some Storyline 2 packages.  It still works, but only after the user accesses the content a 2nd time.  The first time they access a package they get "Cannot Access Content".  This condition also appears if I clear the app data and cache. 1st time after a cache/data clear then "cannot access content" , all proceeding times work.

This only happens with the AMP app, the HTML5 and Flash players don't exhibit this behavior.

The xAPI endpoint never gets a HTTP request. Instead I see in the log an access denied error: " ..../tincan-package-241759/meta.xml"

The path is valid to the file at the time....

This issue occurs on both Andriod and IOS  <  version 10 apps. IOS 10 for some reason plays the HTML5 version and doesn't request the app.

I realize this is a very specific technical issue, and I hope this is the right place to post it, or I can be pointed to the right place.

Please, help this developer e-learning hero make it happen!


5 Replies
Ashley Terwilliger

Hi Mark,

My guess is you already reviewed the reasons here on that particular error message. It sounds like you've confirmed your LMS supports the private content authorization, and I'm also curious since it happens only on the first attempt - are you able to confirm that your users are logged in prior to accessing the course link? 

If you're able to pull the data/reports on what your site is receiving, it may be best to work directly with our Support Engineers to debug these. 

Mark Hanna

I can confirm that the users are logged in before clicking the "launch" button that invokes the AMP app.  After a successful load into the app it doesn't appear to matter whether the user is in session in the browser.  The HTTP authentication is used and if the credential's pass AND the business logic determines the user can access the content, then the content is played. I can revoke or grant access and the behavior is as expected from either in browser viewing or via the app.

Yes, I have reviewed the link above and developed a Private Authorization Content repo that works with Studio packages, and Storyline packages (after the first try).

I'll definitely create a support ticket with the engineers to see if they can help me.