How to generate Vimeo unauthenticated access token

2019-05-12 11:02发布

问题:

I am new to Vimeo's api, i am looking for a way to make unauthenticated requests. I find out that i will need to generate unauthenticated access token, but i don't see any option to do that in the Vimeo's apps console. Can anybody help?

回答1:

The app page does not yet support manual construction of unauthenticated access tokens (it's coming!). For now you have to request them programmatically.

Luckily, they don't expire, so you only have to generate it once. Here's a quick walk-through on how to generate this token.

  1. Grab your client id and secret from your app page.
  2. Slam them together with a colon in the middle (eg abcd1234:edgh678)
  3. Base64 encode that whole string (you can find encoders online, plenty of public websites)
  4. Construct the request (you can use curl, a browser tool, or your favorite http request tool).
    • HTTP Method: POST
    • HTTP URL: https://api.vimeo.com/oauth/authorize/client
    • HTTP Headers: Authorization: basic <your base 64 encoded token>
    • Request Body: grant_type=client_credentials&scope=public%20private


回答2:

The auth header is no longer made available through the apps page on the Vimeo Developer site. Instead, you'll need to build the auth header yourself with the token encoded in base64 like so:

'Authorization: basic ' + base64(client_id + ':' + client_secret)

Where client_id and client_secret can be found on your apps page. The final header you should use will look like this:

Authorization: basic xxxxxxxxxxxxxxxxxxxxxxxxx


回答3:

A good way using requests_oauthlib, request, and oauthlib:

client = BackendApplicationClient(client_id=client_id)
auth = requests.auth.HTTPBasicAuth(client_id, client_secret)
oauth = OAuth2Session(client=client)
access_token = oauth.fetch_token(token_url= 'https://api.vimeo.com/oauth/authorize/client', auth=self.auth)