【问题标题】:Open the url with Access Token which comes in API response使用 API 响应中的访问令牌打开 url
【发布时间】:2020-03-17 10:17:06
【问题描述】:

我有一组 api 调用,可以通过访问令牌访问,并且我能够从 api 获取响应,但是其中一个响应包含 URL,但是当我尝试访问它时,url 会询问我在其中的登录'我已经登录了,因为这就是我获得访问令牌的方式。

API 响应:

{
"root": "some value",
    "blocks": {
        "some value": {
            "display_name": "some display name",
            "block_id": "abc123",
            "view_url": "https://www.abc.come",
            "web_url": "https://www.abv.com",
            "type": "some type",
            "id": "some id"
        }
    }
}

因此,我想从这个响应中访问“web_url”,所以当我发出 Get 请求时,它会要求登录。 那么如何在不登录的情况下访问 web_url 呢?

【问题讨论】:

  • 看看当您在浏览器中遵循此工作流程时会发生什么。也许您需要在每个请求中发送您的访问令牌,也许您需要在您的标头中发送一些内容......您的问题含糊不清,没有网站的详细信息,我们无法帮助您。
  • 我正在为所有 api 请求使用访问令牌,并且我正在访问的 url 是 edx。因此,如果从浏览器访问 web_url,它会要求登录,这很好,但如果使用邮递员或其他东西,那么它也会要求登录。

标签: python django rest api


【解决方案1】:

您可以使用访问令牌从响应中访问 url

access_token = "your_access_token"
web_url_response = requests.get(response['blocks']['some value']['web_url'], headers={"Authorization": "Bearer " + access_token})

【讨论】:

  • 那里的“回应”是什么?
  • 这是您得到的 API 响应(显示在您的问题中)
  • 我收到了响应,它是一个 html 页面,但它没有带我进入页面,而是要求登录
猜你喜欢
  • 1970-01-01
  • 2011-03-07
  • 1970-01-01
  • 2014-08-22
  • 2023-02-02
  • 1970-01-01
  • 1970-01-01
  • 2021-05-15
  • 1970-01-01
相关资源
最近更新 更多