Код ответа Streamlabs API 405 - PullRequest
0 голосов
/ 31 мая 2018

Я пытаюсь использовать Streamlabs API .Streamlabs API использует Oauth2 для создания приложений.Поэтому сначала я отправляю тому, кто использует мое приложение, ссылку авторизации, содержащую идентификатор клиента моего приложения и области, которые я хочу использовать.
(Примерно так: 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.Но это не работает по какой-то причине.Чтобы отправить тестовое оповещение, я должен отправить запрос POST на этот URL: "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), то будет напечатано "Response [405]".
Но если я сделаю print(response.text) Iполучить длинный HTML-документ для этой страницы: Страница с ответом об ошибке

Есть идеи, что не так с моими запросами Python? Документация по send_test_alert здесь: Ссылка

1 Ответ

0 голосов
/ 03 июня 2018

Я связался со службой поддержки и похоже, что вы допустили ту же ошибку, что и я.

На самом деле вы не отправляете запрос на правильный URL-адрес.
Вы отправляете запрос на адрес: "https://streamlabs.com/api/alerts/send_test_alert"

Вы должны использовать URL:" https://streamlabs.com/api/v1.0/alerts/send_test_alert"

...