【问题标题】:api authorization header r httrapi 授权标头 r httr
【发布时间】:2020-07-31 23:16:24
【问题描述】:

我正在尝试使用 httr 访问 Open Apparel Registry api。

注意:注册是免费的(需要登录 + 在个人资料页面上获取验证码)。 但是您可以在这里查看 swagger api 文档:https://openapparel.org/api/docs/#!/facilities/facilities_list

以下是您在网页版上授权的方式:

oar_root_api <- "https://openapparel.org/api/facilities/"
oar_token <- XXX
oar_api_facilities_GET <- httr::GET(url = oar_root_api,
                                    add_headers(
                                                `Authorization` = oar_token),
                                    verbose()
                                    )

我收到的代码是401,所以我的授权有问题,但我尝试了很多方法。我不知道如何正确指定它。

【问题讨论】:

  • 您是否向 API 供应商寻求支持?
  • 我向他们发送了一条消息,但认为这可能是一个简单的解决方法,因此可以提供帮助。
  • 不管怎样,我对 API 还是很陌生,请问有什么好问题?
  • 您可以通过从 R 向httpreq.com 发布请求来进行调试,而不是发布到实际站点,这样您就可以准确地看到正在发送的内容。并将其与您在 API 测试页面上列出的示例中通过 curl 发送的版本进行比较。这应该可以帮助您检测是否存在可能导致问题的任何标头/编码问题。
  • 谢谢弗利克先生。我尝试了这种方法,但我没有看到任何明显的东西。你可以查询这个吗?或者您的httr 查询是什么?听起来您可能认为我已经正确编写了代码(在某种程度上)。

标签: r swagger tidyverse httr


【解决方案1】:

很抱歉得知您遇到了困难。此附加文档可能会有所帮助:https://docs.google.com/document/d/1ZKCN84Eu9WDAXUokojOw7Dcg5TAJw0vKnVk7RPrTPZ0/edit?usp=sharing

我们倾向于发现用户需要添加“令牌”前缀(参见第 3 页),我很欣赏这不是标准做法 - 这是我们打算改变的!

让我们知道你的进展。

【讨论】:

    【解决方案2】:

    Open Apparel Registry (OAR) 使用 Django REST Framework 提供 API 端点。 TokenAuthentication 类要求 Authorization 标头值具有“令牌​​”前缀。来自documentation

    对于客户端进行身份验证,令牌密钥应包含在 Authorization HTTP 标头中。键应以字符串文字“Token”为前缀,用空格分隔两个字符串。例如:

    Authorization: Token 9944b09.....
    

    我不熟悉 R,但我搜索了字符串连接,看起来 paste 函数将构建您需要的标头值。

    oar_root_api <- "https://openapparel.org/api/facilities/"
    oar_token <- XXX
    oar_api_facilities_GET <- httr::GET(url = oar_root_api,
                                        add_headers(
                                                    `Authorization` = paste("Token ", oar_token)),
                                        verbose()
                                        )
    

    【讨论】:

      猜你喜欢
      • 2019-06-17
      • 1970-01-01
      • 2012-07-20
      • 1970-01-01
      • 2012-04-30
      • 2021-03-02
      • 2018-09-16
      • 2015-04-05
      相关资源
      最近更新 更多