【问题标题】:Yammer API requests return 401Yammer API 请求返回 401
【发布时间】:2016-05-30 07:15:58
【问题描述】:

我正在尝试使用 Yammer 和请求检索用户喜欢的信息。我反复收到 401 状态码。

下面是我的代码:

import json
import requests
import requests.auth


access_token = "mytoken"
headers = {"Authorization": "bearer " + access_token}
response = requests.post("https://www.yammer.com/api/v1/users/liked_message/702068900.json", headers=headers)
me_json = response.json()

return me_json['name']

我不确定自己做错了什么。

【问题讨论】:

  • 可能是response.text 会提供一些信息
  • 你看过他们的python SDK。
  • 文档说Bearer,大写为B。你应该试试。
  • 如@klaus-d 所述,更改大小写。您还可以获取您的令牌并使用 curl、Fiddler 或其他可让您发出此 HTTP 请求的工具对其进行测试。
  • 不是答案,而是对未来查看此代码的人的更正:不需要 import requests.auth,因为您已经在导入完整的 requests 模块。

标签: python json yammer


【解决方案1】:

401 表示您未获得授权,有关状态码的更多信息 - https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

您的凭据不正确,或者您根本没有被授权。

请求需要用户身份验证。响应必须包括 包含挑战的 WWW-Authenticate 标头字段(第 14.47 节) 适用于请求的资源。客户可以重复 具有合适的授权头字段的请求(第 14.8 节)。如果 该请求已包含授权凭据,然后是 401 响应表明授权已被拒绝 证书。如果 401 响应包含与 之前的响应,并且用户代理已经尝试过 验证至少一次,然后用户应该被呈现 响应中给出的实体,因为该实体可能包括 相关的诊断信息。 HTTP访问认证是 在“HTTP 身份验证:基本和摘要访问”中解释 认证”

【讨论】:

    【解决方案2】:

    “文档说不记名的大写字母 B” 正好在钱伴侣上。非常感谢我 花了几个小时。

    【讨论】:

    • 嗨尼克。你会点击这个问题左边的勾号吗?这就是我们表示已收到正确答案的方式。塔!
    猜你喜欢
    • 1970-01-01
    • 2021-08-08
    • 2020-06-14
    • 2011-12-10
    • 1970-01-01
    • 2019-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多