Я пытаюсь создать простой сценарий переименования, который будет принимать около 50 файлов с различным азиатским текстом и переименовывать его обратно в Engli sh с помощью результатов, возвращаемых из MyDramaList API.
Согласно документации MDL API , мне нужны следующие четыре вещи:
- Тип содержимого: приложение / json (включено в мой код)
- MDL-API-ключ (client_id) (включен в мой код)
- Авторизация: Носитель [access_token]
- AUTHORIZE_CODE
Насколько я понимаю, аутентификация токен должен быть возвращен через эту конечную точку:
GET https://api.mydramalist.com/v1/oauth/authorize?response_type=code&client_id=[CLIENT_ID]&redirect_uri=[REDIRECT_URI]
Но когда я проверяю, содержит ли возвращаемый заголовок код аутентификации, я не нахожу:
{'Date': 'some date here', 'Content-Type': 'text/html; charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Set-Cookie': '__cfduid=123456789; expires=some date here GMT; path=/; domain=.mydramalist.com; HttpOnly; SameSite=Lax', 'Vary': 'Accept-Encoding', 'CF-Cache-Status': 'DYNAMIC', 'Expect-CT': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"', 'Server': 'cloudflare', 'CF-RAY': '123456789', 'Content-Encoding': 'gzip'}
В документации, которую они имеют эти две следующие конечные точки для аутентификации:
GET https://api.mydramalist.com/v1/oauth/authorize?response_type=code&client_id=[CLIENT_ID]&redirect_uri=[REDIRECT_URI]
POST https://api.mydramalist.com/v1/oauth/token?response_type=authorization_code&client_id=[CLIENT_ID]&client_secret=[CLIENT_SECRET]&redirect_uri=[REDIRECT_URI]&code=[AUTHORIZE_CODE]
Мой вопрос: 1) как мне подключиться к этому API для поиска заголовка? 2a) Является ли AUTHORIZE_CODE тем же кодом, который я предполагаю включить в качестве access_token в Bearer? 2b) Как получить этот код?
Приведенный ниже код возвращает ответ 401, когда я пытаюсь найти заголовок по идентификатору (тот же идентификатор, который показан в примере):
import requests, json
HEADERS = {
'Content-Type': 'application/json',
'mdl-api-key': '123456'
}
req = requests.get(
'https://api.mydramalist.com/oauth/authorize?response_type=code&client_id=123456&redirect_uri=http://localhost:5000'
) #this returns 200, but I am not sure exactly what is happening here. Is it returning authorization code? When I see if the authorization code is returned in the header, I find nothing
print(req.status_code)
print(req.headers)
r = requests.get('https://api.mydramalist.com/v1/titles/24640', params=HEADERS)
print(r)