【问题标题】:How to generate Vimeo unauthenticated access token?如何生成 Vimeo 未经身份验证的访问令牌?
【发布时间】:2016-02-10 08:59:27
【问题描述】:

我是 Vimeo 的 api 的新手,我正在寻找一种方法来发出未经身份验证的请求。我发现我需要generate unauthenticated access token,但我在 Vimeo 的apps console 中看不到任何选项。有人可以帮忙吗?

【问题讨论】:

    标签: api oauth token vimeo-api


    【解决方案1】:

    不再通过 Vimeo 开发者网站上的应用程序页面提供 auth 标头。相反,您需要使用 base64 编码的令牌自己构建 auth 标头,如下所示:

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

    client_idclient_secret 可以在您的应用页面上找到。您应该使用的最终标题将如下所示:

    Authorization: basic xxxxxxxxxxxxxxxxxxxxxxxxx
    

    【讨论】:

    • base64() 是一个函数吗?如果我使用 curl ,我还能使用 base64() 吗?
    【解决方案2】:

    应用页面尚不支持手动构建未经身份验证的访问令牌(即将推出!)。现在您必须以编程方式请求它们。

    幸运的是,它们不会过期,因此您只需生成一次。以下是有关如何生成此令牌的快速演练。

    1. 从您的应用页面获取您的客户端 ID 和密码。
    2. 用中间的冒号将它们拼在一起(例如 abcd1234:edgh678)
    3. Base64 对整个字符串进行编码(你可以在网上找到编码器,很多公共网站)
    4. 构造请求(您可以使用 curl、a browser tool 或您喜欢的 http 请求工具)。
      • HTTP 方法:POST
      • HTTP URL:https://api.vimeo.com/oauth/authorize/client
      • HTTP 标头:Authorization: basic <your base 64 encoded token>
      • 请求正文:grant_type=client_credentials&scope=public%20private

    【讨论】:

    • 在一些文档中我看到了不记名授权标头。 basic 和 bearer 有什么不同,你能解释一下为什么我们在这个请求中更喜欢 basic 那个 bearer 吗?
    • 您将令牌与不记名标头一起使用。您使用基本标头创建一个令牌。
    【解决方案3】:

    使用requests_oauthlibrequestoauthlib的好方法:

    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
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-10
    • 2018-08-03
    • 1970-01-01
    • 1970-01-01
    • 2012-11-14
    相关资源
    最近更新 更多