【发布时间】:2016-02-10 08:59:27
【问题描述】:
我是 Vimeo 的 api 的新手,我正在寻找一种方法来发出未经身份验证的请求。我发现我需要generate unauthenticated access token,但我在 Vimeo 的apps console 中看不到任何选项。有人可以帮忙吗?
【问题讨论】:
我是 Vimeo 的 api 的新手,我正在寻找一种方法来发出未经身份验证的请求。我发现我需要generate unauthenticated access token,但我在 Vimeo 的apps console 中看不到任何选项。有人可以帮忙吗?
【问题讨论】:
不再通过 Vimeo 开发者网站上的应用程序页面提供 auth 标头。相反,您需要使用 base64 编码的令牌自己构建 auth 标头,如下所示:
'Authorization: basic ' + base64(client_id + ':' + client_secret)
client_id 和 client_secret 可以在您的应用页面上找到。您应该使用的最终标题将如下所示:
Authorization: basic xxxxxxxxxxxxxxxxxxxxxxxxx
【讨论】:
应用页面尚不支持手动构建未经身份验证的访问令牌(即将推出!)。现在您必须以编程方式请求它们。
幸运的是,它们不会过期,因此您只需生成一次。以下是有关如何生成此令牌的快速演练。
POST
https://api.vimeo.com/oauth/authorize/client
Authorization: basic <your base 64 encoded token>
grant_type=client_credentials&scope=public%20private
【讨论】:
使用requests_oauthlib、request和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)
【讨论】:
from requests_oauthlib import OAuth2Session; import requests; from oauthlib.oauth2 import BackendApplicationClient