I'm trying to get an unauthenticated token with upload scope making a request to https://api.vimeo.com/oauth/authorize/client with scope value of "public private upload".
In response token scope have value "public private" or "public private ". My app has upload permissions, my account is PLUS. I can create token with upload scope in app control page and upload video via API using it.
I'm trying to make possible to upload a video directly from client's browser to my Vimeo account without oAuth2. The client making a request to the backend to get the unauthorized token. Backend authorizes the user in my system, create a token with API request, save it in my system for this user for reuse, return token to the client. Client upload video using Uppy via tus protocol directly to Vimeo. Everything except creating token is working. What I'm doing wrong? Maybe I need another account plan and/or check "Other people created these videos" at Request Upload Permissions page?
An unauthenticated token can only be used to interact with resources public on vimeo.com. In other words, a token is used the same way as a user who is not logged into a Vimeo account. Upload requires a login.
If you want to upload to your account without going through the OAuth flow, you must generate a "Personal Access Token". To do so, go to your app management page at https://developer.vimeo.com/apps, select your app, and select the Authentication tab.
From there, scroll down to "Generate a personal access token", select the scopes you want that token to have (for upload I would recommend at minimum public private edit upload), and click Generate. Copy the token and save it somewhere secure. You can then use that token to authenticate your requests with the API.
I hope this information helps!