【问题标题】:Streamlabs API 405 response codeStreamlabs API 405 响应代码
【发布时间】:2018-11-10 10:41:16
【问题描述】:

我正在尝试使用Streamlabs API。 Streamlabs API 使用 Oauth2 来创建应用程序。因此,首先我将使用我的应用程序的任何人发送到一个授权链接,其中包含我的应用程序的客户端 ID 和我想要使用的范围。
(类似这样的:streamlabs.com/api/v1.0/ authorize?client_id=CLIENT-ID-HERE&redirect_uri=REDIRECT-URI&response_type=code&scope=SOME+SCOPES+HERE)

完成后,我会在指定的重定向 uri 处收到一个代码。然后,我使用该代码获取访问令牌以永久访问已连接用户的帐户。然后我从一个完美运行的 POST 请求中接收访问令牌......现在我遇到了问题。在访问令牌之前获取临时代码时,我指定了范围:“donations.read +donations.create+alerts.write+alerts.create”

授权时,应用会请求不同范围的权限。重点范围是 "alerts.write",以便我可以使用 POST 请求发送测试警报。但这由于某种原因不起作用。要发送测试警报,我必须向此 url 发送 POST 请求:"https://streamlabs.com/api/alerts/send_test_alert"

我尝试了两种不同的方式。
1:

import requests

url = "https://streamlabs.com/api/alerts/send_test_alert"

data = {
    "access_token":"UserAccessTokenHere",
    "type":"donation"
}

response = requests.post(url=url, data=data)

print(response.text)  

2:

import requests

url = "https://streamlabs.com/api/alerts/send_test_alert?access_token=UserAccessTokenHere&type=donation"

response = requests.post(url=url)

print(response.text)

如果我这样做 print(response) 它会打印“响应 [405]”。
但是如果我这样做 print(response.text) 我会得到一个长的 HTML 文档用于这个页面:Error response page

知道我的 Python 请求出了什么问题吗?在此处发送_test_alert 文档:Link

【问题讨论】:

  • 我的确切问题。
  • 在最后一步尝试使用 GET。 405 消息表明该页面不允许 POST。

标签: python python-3.x api python-requests


【解决方案1】:

我已经联系了支持人员,看起来你和我犯了同样的错误。

您实际上并未向正确的网址发送请求。
您正在向:“https://streamlabs.com/api/alerts/send_test_alert”发送请求

您应该使用 URL:“https://streamlabs.com/api/v1.0/alerts/send_test_alert”

【讨论】:

    猜你喜欢
    • 2023-04-10
    • 1970-01-01
    • 2019-01-30
    • 2023-03-30
    • 2018-06-30
    • 1970-01-01
    • 2014-08-09
    • 2013-09-12
    • 2016-10-28
    相关资源
    最近更新 更多