【发布时间】: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