Something we have noticed is that if we are logged in as the profile owner where the workbooks are published on public tableau then the application works, but if not logged in it doesn't work.
I hope there is a solution for this, or it will set us back considerably.
There were multiple versions of the same dashboards with similar names. We modified the download ability of one of the similarly named dashboards instead of the one being used in our application and I believe the issue is now resolved.
I'm getting the same error, but I think the difference might be whether you have allowed the workbook to be downloaded or not. I'm using Tableau Public, and when I deselect "Allow workbook and its data to be downloaded by others" I get this error when using the getMarksAsync() function. If I select this, then there doesn't appear to be any problem.
I'm very new to the JS API so could be wrong, but let me know if you have run into the same issue.